2015-06-21 86 views
1

我想在同一时间的表更新两个领域,但它不是工作 任何一个可以帮我请更新表中两个字段同时

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) { 
    $updateSQL = sprintf(
     "UPDATE child,list SET child.list_num = list.list_id WHERE child.user_id = list.user_id", 
     GetSQLValueString($_POST['list_num'], "int"), 
     GetSQLValueString($_POST['id'], "int") 
    ); 

    mysql_select_db($database_amar, $amar); 
    $Result1 = mysql_query($updateSQL, $amar) or die(mysql_error()); 

    $updateGoTo = "list_child.php"; 
    if (isset($_SERVER['QUERY_STRING'])) { 
     $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?"; 
     $updateGoTo .= $_SERVER['QUERY_STRING']; 
    } 
    header(sprintf("Location: %s", $updateGoTo)); 
} 

$colname_edit = "-1"; 
if (isset($_GET['id'])) { 
    $colname_edit = $_GET['id']; 
} 

mysql_select_db($database_amar, $amar); 
$query_edit = sprintf(
    "SELECT * FROM child, list WHERE id= %s",    
    GetSQLValueString($colname_edit, "int") 
); 
$edit = mysql_query($query_edit, $amar) or die(mysql_error()); 
$row_edit = mysql_fetch_assoc($edit); 
$totalRows_edit = mysql_num_rows($edit); 
+0

不工作意味着什么?你能发布你的错误吗? –

+6

[请不要在新代码中使用mysql_ *函数](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)不再维护它们并被正式弃用。使用mysqli或PDO – PHPhil

回答

0

我试图查询其工作完美如

"UPDATE child,list SET child.list_num = list.list_id WHERE child.user_id = list.user_id" 

但我对你的实现有疑问,你为什么在这里使用sprintf?

$updateSQL = sprintf("UPDATE child,list SET child.list_num =      list.list_id WHERE child.user_id = list.user_id ", 
        GetSQLValueString($_POST['list_num'], "int"), 
        GetSQLValueString($_POST['id'], "int")); 

它表明您的要求与您的实施有所不同。要么你缺少你查询的一些地方,你要使用参数

GetSQLValueString($_POST['list_num'], "int") and GetSQLValueString($_POST['id'], "int"). 

目前您的查询就会更新表没有任何检查,不服从的sprintf事情。尝试

$query_edit = sprintf("SELECT * FROM child, list WHERE id= %s",    GetSQLValueString($colname_edit, "int")); 
相关问题