[英]Error in SQL syntax when I try a query
我在使用簡單的sql插入查詢(mysqli)時遇到了一個大(愚蠢的)問題,我已經使用了這種格式,沒有錯誤,但是現在不起作用。
請幫助我發現問題..
//Get admin form details
$a_user = $_POST["a_user"];
$a_pass = $_POST["a_pass"];
$a_pin = $_POST["a_pin"];
if($a_user == "$admin_username" && $a_pass == "$admin_password" && $a_pin == "$admin_pin"):
$keygen = md5(microtime().rand());
$mysqli->query("INSERT INTO keys (keygen) VALUES ('$keygen')") or die(mysqli_error($mysqli));
$mysqli->close;
else:
header("Location: ?page=admin&error=1");
endif;
這是錯誤:
錯誤:您的SQL語法有錯誤; 檢查與您的MySQL服務器版本相對應的手冊以獲取在第1行的'keys(keygen)VALUES('85faa7f618e433819d7e5ca57076377c')'附近使用的正確語法
keys
是MySQL保留字http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html
可以將其包裝在反引號中,也可以使用其他名稱。
INSERT INTO `keys`
邊注:
MD5較舊,如果您打算將其用於密碼目的,則認為它已損壞。
使用CRYPT_BLOWFISH或PHP 5.5的password_hash()
函數。
對於PHP <5.5,使用password_hash() compatibility pack
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.