Php 此SQL更新查询有什么问题?

Php 此SQL更新查询有什么问题?,php,mysql,Php,Mysql,如果我不确定自己是否100%不知道这为什么不起作用,我不会问,因此,在PHP中,我只是尝试更新MySQL数据库中的一个值: 该字段正在更新中 -姓名:read -类型:tinyint -长度:1 以下是PHP代码: do_SQLUPDATE消息集读取=1 其中id=“.$id.” do_SQL函数适用于其他所有函数,因此该语句有问题。我试着在“1”中加1,但仍然不起作用 错误是: 您的SQL语法有错误; 检查相应的手册 您的MySQL服务器版本 使用near'read=1的正确语法,其中 第1行

如果我不确定自己是否100%不知道这为什么不起作用,我不会问,因此,在PHP中,我只是尝试更新MySQL数据库中的一个值:

该字段正在更新中 -姓名:read -类型:tinyint -长度:1

以下是PHP代码:

do_SQLUPDATE消息集读取=1 其中id=“.$id.”

do_SQL函数适用于其他所有函数,因此该语句有问题。我试着在“1”中加1,但仍然不起作用 错误是:

您的SQL语法有错误; 检查相应的手册 您的MySQL服务器版本 使用near'read=1的正确语法,其中 第1行的id='1


谢谢你的阅读

没有转义字符

do_SQL('UPDATE messages SET read=1 WHERE id=\''.$id.'\'');

没有转义字符

do_SQL('UPDATE messages SET read=1 WHERE id=\''.$id.'\'');
如果id为数字,请尝试删除引号:

do_SQL("UPDATE messages SET `read` = 1 WHERE id = ".$id);
如果id为数字,请尝试删除引号:

do_SQL("UPDATE messages SET `read` = 1 WHERE id = ".$id);
read是MySQL中的一个关键字,因此如果不使用反勾号,则无法使用它:

do_SQL("UPDATE messages SET `read`=1 WHERE id='".$id."'");
read是MySQL中的一个关键字,因此如果不使用反勾号,则无法使用它:

do_SQL("UPDATE messages SET `read`=1 WHERE id='".$id."'");

read在MySQL中可能是一个保留字

是的


下次在创建一列之前,请检查该列表,该列的名称可能已被数据库系统使用

read可能是MySQL中的一个保留字

是的


下次在创建一列之前,请检查该列表,该列的名称可能已被数据库系统使用

不要引用$id。让PHP在字符串中进行替换

 do_SQL("UPDATE messages SET read=1 WHERE id=$id.");

不要引用$id。让PHP在字符串中进行替换

 do_SQL("UPDATE messages SET read=1 WHERE id=$id.");

啊!我实际上搜索了一些“保留词”列表,但没有找到任何东西。该死的,我讨厌SQL和它所有恼人的引语,文字和东西。。。谢谢@Tommo Khorkrak于年与之链接;在这里:@Tommo-love-SQL,你会需要它的。啊!我实际上搜索了一些“保留词”列表,但没有找到任何东西。该死的,我讨厌SQL和它所有恼人的引语,文字和东西。。。谢谢@Tommo Khorkrak于年与之链接;这里有:@Tommo-love SQL,你会需要它的。@Tommo在SQL中引用数字实际上没有问题statement@Tommo在SQL语句中引用数字实际上没有问题。他的字符串使用双引号,所以他不需要它们。他的字符串使用双引号,因此,他不需要他们+1来回答你设法引出的大量错误答案+1来回答你设法引出的大量错误答案