簡體   English   中英

SQL INSERT INTO查詢出錯

[英]Error in SQL INSERT INTO query

我有以下用PHP編寫的代碼:

  $q = mysql_query("INSERT INTO logowania ('user','udane','ip') VALUES ($uid,0,'".ip()."')"); echo mysql_error();

$uidip()是正確的,你可以相信我。

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.

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