[英]Error in SQL INSERT INTO query
我有以下用PHP編寫的代碼:
$q = mysql_query("INSERT INTO logowania ('user','udane','ip') VALUES ($uid,0,'".ip()."')"); echo mysql_error();
$uid
和ip()
是正確的,你可以相信我。
logowania
表的結構:
1 idlogowania int(11)
2 user int(11)
3 udane tinyint(1)
4 data timestamp on update CURRENT_TIMESTAMP CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
5 ip text utf8_polish_ci
我不知道聲明中的錯誤在哪里。 MySQL給出:
您的SQL語法有錯誤; 檢查與MySQL服務器版本對應的手冊,以便在''user','udane','ip'附近使用正確的語法。)第1行的VALUES(1,0,'79 .184.7.44')'
我試圖調試,但沒有成功結束。 我知道這可能是一個非常簡單的錯誤,但人類的願景並非絕對正確......
對列名使用后退標記,否則將它們視為字符串。
(`user`,`udane`,`ip`)
從列名中取出''。
$q = mysql_query("INSERT INTO logowania ('user','udane','ip') VALUES ($uid,0,'".ip()."')"); echo mysql_error();
應該
$q = mysql_query("INSERT INTO logowania (user,udane,ip) VALUES ($uid,0,'".ip()."')"); echo mysql_error();
或者使用back-tics作為col名稱
$q = mysql_query("INSERT INTO logowania (`user`,`udane`,`ip`) VALUES ($uid,0,'".ip()."')"); echo mysql_error();
替代版本:
$q = mysql_query("INSERT INTO logowania SET `user` = '" . $uid . "', `udane` = 0, `ip` = '" . ip() . "'"); echo mysql_error();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.