数据库表更新不起作用?

时间:2012-12-03 11:47:16

标签: php mysql sql

我正在尝试更新表(bill),字段(已选中),如果用户选中该复选框 字段(已选中)将 1

page1:detail.php

while($row = mysql_fetch_array($results))
{
   $ch=$row['checked'] ;
   $idw=$row['key'];
}

然后我检查用户是否先检查过这行,如果没有,我发送密钥并检查表格以进行检查过程:

if ($ch==1)
{
   echo "this record has been checked";
}
else 
{
   echo "<form action=\"checked.php\" method=\"GET\"  enctype=\"multipart/form-data\"     >";
   echo "<input type=\"hidden\" name=\"ids\" value=\"$idw\" ><br>";
   echo "<input type=\"checkbox\" name=\"check\" value=\"checked\" ><br>";
   echo "<p><input name=\"submit\" type=\"submit\" value=\"submit\"  /></p>";
   echo "</form>";
}

第2页:checked.php

$idw=$_GET['ids'];
$check=$_GET['check'];
$sql="UPDATE bill SET checked=1 where key=$idw";
$results=mysql_query($sql);
if ($results)
{
     echo "the record has been updated successfully";
}

更新不再起作用,请帮助

5 个答案:

答案 0 :(得分:0)

您的查询中有错误尝试,更改此内容:

$sql="UPDATE bill SET checked=1 key=$idw";

用这个:

$sql="UPDATE bill SET checked=1 WHERE key=$idw";

答案 1 :(得分:0)

您的更新声明应为:

$sql="UPDATE bill SET checked=1 where key=$idw";

答案 2 :(得分:0)

如果能为你完成这项工作,请尝试这个

  WHERE key='".$idw."'

答案 3 :(得分:0)

您在此查询中的SQL语句中缺少分号:

$sql="UPDATE bill SET checked=1 where key=$idw;";
               // Notice this semicolon here -^

另外,如果key是非数字列,则需要在$idw周围加上引号:

$sql="UPDATE bill SET checked=1 where key='$idw';";

答案 4 :(得分:0)

我放置一个字段(名称)而不是(键“P.K”),然后完成更新。 但我现在还不知道为什么更新没有发生取决于P.K

谢谢大家。