我正在寫新聞並將其插入到我的數據庫中,我已經建立了3年前的代碼,它運行良好,但我不能再插入,我不明白爲什麼:php Mysql插入:不能再插入
$insert=mysqli_query($co,"INSERT INTO articles VALUES('','".addslashes(htmlentities($_POST['title']))."','".time()."','".nl2br(addslashes(htmlentities($_POST['msg'])))."')") or die("insert error: ".mysqli_error());
所在的表的文章得到結構(ID:INT(11)AUTO_INCREMENT,標題:文本,日期:INT(11),味精:文本)
當我嘗試它我落在「插入錯誤」的消息,但mysqli_error()消息是空的,所以我嘗試了一個僞造的條目在phpmyadmin上:
INSERT INTO articles VALUES('','testset','1396642210','FUUUUUU')
我得到了#1366 - 不正確的整數值:''列1'的列'id' (但id是自動遞增的? :/)
(連接和數據庫選擇都OK) 我真的不明白髮生了什麼,我正在處理這個請求2/3年,它正在工作... 任何想法?
'和addslashes(ヶ輛($ _ POST [」標題']))'=>使用準備好的語句。他們會更安全。 – Xenos
刪除'1396642210'周圍的引號,假設該列是整數類型。也許你已經升級了MySQL,並且它的語法實施已經改變了(它肯定適用於'GROUP BY')。 –
您最近是否改變了可能影響此設置的任何內容? MySQL版本? PHP版本? Webserver版本?網絡服務器?多次做同樣的事情永遠不會產生不同的結果,所以必須改變。 – apokryfos