簡體   English   中英

我嘗試查詢時SQL語法錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM