帮助mysql AES_ENCRYPT

时间:2011-09-01 21:20:57

标签: php mysql

我准备了一个查询,但它一直在抛出错误。这是我的疑问:

$query = "INSERT INTO encryption_tests (values) VALUES (AES_ENCRYPT('pass', 'password'))";

我已成功连接到服务器并选择了一个数据库。这是mysql_error()

  

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行使用“值”附近的正确语法VALUES(AES_ENCRYPT('pass','password'))

任何人都能看到我没有看到的东西吗?感谢您的帮助,如果您有任何疑问,请询问。

1 个答案:

答案 0 :(得分:4)

values是MySQL保留字。你需要用反引号来逃避它:

$query = "INSERT INTO `encryption_tests` (`values`) VALUES (AES_ENCRYPT('pass', 'password'))";

虽然我个人倾向于以这种方式编写查询,因为我觉得它们更容易阅读:

INSERT INTO `encryption_tests`
SET `values` = AES_ENCRYPT('pass', 'password')
相关问题