PHP:更新数据库表

时间:2011-09-07 18:53:40

标签: php mysql

我正在尝试更新数据库中的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

2 个答案:

答案 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时,请勿使用引号。