2011-07-03 226 views
-2

Righ,t在我的網站上,管理員將信息放入表單中,然後將其發送併成爲主頁(Title,Body,Dateposted)上的新聞Feed,但由於某些原因我檢查了工作代碼)此代碼無法正常工作,我不知道爲什麼,有人可以幫助我嗎?PHP插入問題

<?php 
     $post = mysql_query("INSERT INTO news(`title`,`body`,`date_posted`) VALUES('$title','$body','$date')"); 

     mysql_close($connect); 

     header("Location: news.php"); 
    } 
    else 
    { 
     echo "The body of the news post you entered is too short."; 
    } 
} 
?> 

我DATEBASE行:

[id] 
[title] 
[body] 
[date_posted] 
+0

你的代碼是一團糟和不完整的,這樣我們就不能做任何正面或反面的。例如,可能你的'body'變量包含引號(單引號),因此查詢無效 - 嘗試使用'mysql_real_escape_string()'。 – KilZone

+0

問題具體是什麼?如果那是你的整個腳本,那麼數據庫連接就沒有打開,不知道這是否是你的錯誤。 – Tak

+0

我想你是因爲'$ title','$ body'或'$ date'中的數據而導致語法錯誤。有關更多信息,請參見['mysql_real_escape_string'](http://docs.php.net/mysql_real_escape_string)。 – Gumbo

回答

0

如果你的ID字段被指定爲自動遞增

http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html

編輯

的這隻會工作其他技術你可以採用的是把你的sql放到一個變量中,當你遇到問題時,你可以將它回顯到頁面上(或者放到你的error_log中)。它只是表示這樣做:

$sql = "INSERT INTO news(`title`,`body`,`date_posted`) VALUES('$title','$body','$date')"; 
$post = mysql_query($sql); 
// now have an optional line of debug 
echo $sql; 
+0

我的ID字段是AI。 –

+0

如果有人懷疑PHP或sql是否會導致某些真實數據被替換,即INSERT INTO news('title','body','date_posted')VALUES('test','test','test')「謝謝 – Cups

+0

Thankyou,我從來沒有或者在INSERT語句中以這種形式進行錯誤測試。 –