此代码一直存在错误。
错误消息:解析错误:语法错误,意外T_ENCAPSED_AND_WHITESPACE,在第19行的/home/soulz/public_html/inbox.php中期待T_STRING或T_VARIABLE或T_NUM_STRING
以下是代码:
mysql_query("UPDATE `messages` SET message_title = '[NO SUBJECT]' WHERE `message_id`=$row['message_id']");
答案 0 :(得分:3)
使用花括号:
mysql_query("UPDATE `messages` SET message_title = '[NO SUBJECT]'
WHERE `message_id`={$row['message_id']}");
答案 1 :(得分:2)
不要在字段名称周围加上撇号:
mysql_query("UPDATE `messages` SET message_title = '[NO SUBJECT]'
WHERE `message_id`=$row[message_id]");
^^^^^^^^^^
在引用的字符串中,您不能对数组字段名称使用其他引号。如果你有一个非常复杂的数组表达式,那么有一个替代的,更精细的语法涉及大括号,但你不需要这里。
答案 2 :(得分:0)
message_id 似乎是integer
,因此您可以通过最佳做法修复该错误。
mysql_query("UPDATE `messages` SET message_title = '[NO SUBJECT]'
WHERE `message_id`=" . intval($row['message_id']));
您可以将strval()
用于字符串。这两项功能都在intval() manual page和strval() manual page详细说明。