2011-09-01 49 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')