2011-09-01 38 views
1

我已经准备好了一个查询,但它一直在抛出错误。这是我的查询:有关mysql的帮助AES_ENCRYPT

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

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

您的SQL语法错误;检查对应于你的MySQL服务器版本的在线使用近“值)VALUES(AES_ENCRYPT(”通,‘密码’))”正确的语法手册1

任何人能看到什么我没有看到?感谢您的帮助,如果您有任何问题,请询问。

回答

3

values是一个MySQL保留字。您需要使用反引号来逃避它,像这样:

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

虽然我个人的偏好是编写查询这种方式,因为我觉得他们更容易阅读:

INSERT INTO `encryption_tests` 
SET `values` = AES_ENCRYPT('pass', 'password')