我准备了一个查询,但它一直在抛出错误。这是我的疑问:
$query = "INSERT INTO encryption_tests (values) VALUES (AES_ENCRYPT('pass', 'password'))";
我已成功连接到服务器并选择了一个数据库。这是mysql_error()
:
您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行使用“值”附近的正确语法VALUES(AES_ENCRYPT('pass','password'))
任何人都能看到我没有看到的东西吗?感谢您的帮助,如果您有任何疑问,请询问。
答案 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')