我目前正在創建一個登錄系統,其中一部分當然是註冊。直到這一點,我一直在順利進行,在那裏我得到一個錯誤。MYSQL插入語法錯誤與不正確的行號
我已經盡我所能地研究了這個問題,但是我找不到解決方案,因爲它給了我一個不正確的行號。
我得到的錯誤是:
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1
我的SQL查詢
$token = (round(microtime(true) * 1000));
$query = mysql_query("INSERT INTO "
. "`users` "
. "(name, password, email, token) "
. "VALUES "
. "('$_POST[user]'"
. ",'".hash('sha512',$_POST['pass'])."'"
. ",'$_POST[email]'"
. ",'$token')") or die(mysql_error());
if (mysql_query($query) === TRUE) {
//echo "Sucsessfuly registered! Check your email for a confirmation link.";
} else {
echo "Error: " . mysql_error();
}
(這是不文件的第一行,它的22D) 當代碼運行,即使它引發錯誤,它仍然正確地將值插入到表中。
此外,當我在phpmyadmin中運行相同的查詢,它運行得很好,沒有錯誤。
我一直在試圖解決這個錯誤在過去3小時所以任何幫助,將不勝感激;)
在SQL錯誤的行號指的是線該查詢,而不是PHP腳本中的行。 – Barmar 2015-04-03 01:16:46
只是一些友好的建議,你應該先清理這些帖子值。你只是要求SQL注入。 http://php.net/manual/en/function.filter-input.php – tier1 2015-04-03 01:18:27
@Barmar這是我的想法,但不知道 – 2015-04-03 01:20:33