2014-03-05 25 views
0

我正在構建一個網站,該網站允許人們向其他人報告問題,並認爲將每個問題存儲在表格中會很有用。但是,當我運行代碼時,數據沒有輸入,當我在最後打開or die(mysql_error());的mysql錯誤時,我什麼都沒有。只是一個白頁。數據不會進入表(mySQL)(不會出現錯誤)

這是我的插入語句完整。是否有任何理由說明爲什麼它可能不起作用,或者爲什麼錯誤不顯示?

$sql = "INSERT INTO reported_problems (time, Full Name, E-mail, Phone Number, House Number, First Line, City, Postcode, Problem Type, Description, Urgency) VALUES(now(),'$fullname','$tenantemail','$phonenumber','$housenumber','$streetname','$city','$postcode','$typeofproblem','$probdesc','$severity_desc')"; 
$query = mysqli_query($db_conx, $sql) or die(mysql_error()); 
+0

某些列名稱包含空格以及'E-mail'中的連字符,因此它們需要反引號包裝。最好使用下劃線。 –

回答

4

您的列標識符中有空格。這可以通過蜱包裹你的列標識符來解決:

$sql = "INSERT INTO reported_problems (`time`, `Full Name`, `E-mail`, `Phone Number`, `House Number`, `First Line`, `City`, `Postcode`, `Problem Type`, `Description`, `Urgency`) VALUES(now(),'$fullname','$tenantemail','$phonenumber','$housenumber','$streetname','$city','$postcode','$typeofproblem','$probdesc','$severity_desc')"; 

僅供參考,那是關鍵字/函數名,有列名包含破折號,並用空格都被勸阻。如果可能,請使用駱駝大小寫或下劃線。

+0

我打算髮布相同的答案...時間是一個保留字和列名問題xD – Hackerman

+0

我引用['MySQL.com'](http://dev.mysql.com/doc/refman/5.5/ en/reserved-words.html)*「MySQL允許一些關鍵字用作未加引號的標識符,因爲很多人以前使用過它們。」* ---「未加引號」是什麼意思? –

+0

@ Fred-ii-你會注意到當你輸入這個時候,我把這部分拿出來了,因爲'時間'屬於這個範疇。我只是留下了一個說明,使用它是一個壞主意。 :) –