这个查询有什么问题?

时间:2014-05-28 17:52:30

标签: php mysql

有谁能告诉我这个查询有什么问题?我似乎无法弄明白并且在最后一小时一直在敲打我的脑袋。

$qry = "UPDATE UserServices SET Username='$newusername', Password='$newpassword', GivenName='$servicename' WHERE UserID='$userid' AND ServiceID='$service' AND Add='$add'";
$result = mysql_query($qry) or die("An error occurred ".mysql_error());

2 个答案:

答案 0 :(得分:7)

ADD是保留关键字,您需要将其作为

进行反推
`Add`

http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html

以下是mysql中add的一些用法,因此使用它作为列或表名称会引发错误,除非您在将其用于表名或列名时进行反引号。

alter table foo add index ...
alter table foo add column...

答案 1 :(得分:3)

add是保留字http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

使用反引号包裹单词或选择其他单词。

AND `Add`='$add'"

将错误报告添加到文件顶部,这将有助于生产测试。

error_reporting(E_ALL);
ini_set('display_errors', 1);

错误报告链接:

mysql_*函数弃用通知:

http://www.php.net/manual/en/intro.mysql.php

从PHP 5.5.0开始,不推荐使用此扩展,不建议用于编写新代码,因为将来会删除它。相反,应使用mysqliPDO_MySQL扩展名。在选择MySQL API时,另请参阅MySQL API Overview以获得进一步的帮助。

这些功能允许您访问MySQL数据库服务器。有关MySQL的更多信息,请访问»http://www.mysql.com/

可以在»http://dev.mysql.com/doc/找到MySQL的文档。