0

我的基本插入查询不起作用..我知道这是一个非常基本的原始问题,但我无法解决

我的代码

 $a="nvsdjkvn";
    $b="bhjxcbncj";
    mysql_select_db("vas1",$con);
    $s = "insert into updates(update,dates) values ('$b','$a')";
    $re = mysql_query($s);

我收到了这个错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'update,dates) values ('nvsdjkvn','bhjxcbncj')' at line 1

我的表名是:使用两列“update”和“dates”进行更新,两者都是“varchar”类型

4

4 回答 4

3

update是 SQL 中的保留字,因此如果不用作保留字,则必须用反引号括起来:

$s = "insert into updates(`update`,dates) values ('$b','$a')";
于 2013-07-01T17:50:44.127 回答
2

UPDATE是 MySQL 中的保留字。要在您的查询中使用,您应该正确地对其进行转义。

这是MySQL 保留字的完整列表

于 2013-07-01T17:50:47.323 回答
1

改变 -

$s = "insert into updates(update,dates) values ('$b','$a')";

$s = "insert into updates(`update`,`dates`) values ('".$b."','".$a."')";

Mysql 扩展自 PHP 5.5.0 起已弃用,不推荐用于编写新代码,因为它将在未来被删除。相反,应该使用 mysqli 或 PDO_MySQL 扩展。在选择 MySQL API 时,另请参阅 MySQL API 概述以获得更多帮助。

于 2013-07-01T17:51:23.620 回答
1

我不敢这么说,但我们不允许像关键字一样命名表。请仔细阅读命名约定的规则集

http://www.isbe.state.il.us/ILDS/pdf/SQL_server_standards.pdf ‎</p>

于 2013-07-01T17:57:38.743 回答