我正在尝试更新数据库中的messages表,并将message_read单元格设置为1.
但我无法让它发挥作用。它总是说0应该变为1。
我很确定变量是对的。
$q = "UPDATE messages SET message_read='1' WHERE id='$messageid' AND to_user='$usermsg'";
mysql_query($q);
我也没有任何错误。
“usermsg”=会话用户名
“messageid”=消息的ID
答案 0 :(得分:0)
试试这个:
$q = "UPDATE messages SET message_read='1' WHERE id=".mysql_real_escape_string($messageid)." AND to_user='".mysql_real_escape_string($usermsg)."';";
$result = mysql_query($q);
if(!$result)
{
die( mysql_error() );
}
else
{
echo 'Number of affected rows:'.mysql_affected_rows();
}
如果您的查询出现问题,您将能够看到屏幕上显示的错误。如果没有,您可以看到查询影响了多少行。
我还添加了一些SQL注入投影以防万一。
答案 1 :(得分:-1)
我认为这是正确的语法:
$q = "UPDATE messages SET message_read = 1 WHERE id = ".$messageid." AND to_user='".$usermsg."'";
当字段类型为INT时,请勿使用引号。