2017-02-14 258 views
0

projectcostingfile table我檢查了我的sql查詢幾次,並確保名稱是正確的。仍然沒有插入。數據庫沒有插入

if(isset($_POST['submit'])){//to run PHP script on submit 
if(!empty($_POST['check_list'])){ 
// Loop to store and display values of individual checked checkbox. 
foreach($_POST['check_list'] as $selected){ 
echo $selected."</br>"; 
$sqlinsert="INSERT INTO projectcostingfile (material) VALUES ('".$selected."')"; 
mysqli_query($conn, $sqlinsert); 
} 
} 
} 

變量$ selected被正確回顯。我也運行代碼時沒有錯誤。任何幫助將不勝感激!

感謝您的幫助。問題出在我的表結構上,就像你們中的一些人所提到的那樣。我將列字段設置爲NOT NULL。因此只插入1列不會有數據庫中顯示的任何INSERT記錄。

+0

您的表'projectcostingfile'的模式是什麼? – JustBaron

+0

您是否收到任何錯誤? – kampangala

+0

其中是$ conn變量,你有沒有定義$ conn變量?有沒有連接到數據庫? –

回答

0

絕對沒有錯你的PHP代碼,但它不符合數據庫架構。檢查PHP服務器上的error.log文件,它會向你顯示很多關於NULL值的DB錯誤。

0
Try to Replace Below Syntax : 

$sqlinsert="INSERT INTO projectcostingfile (`material`) VALUES ('".$selected."')"; 
+0

感謝您的回覆。仍然是同樣的結果。沒有錯誤,沒有任何內容插入到數據庫中。 –

+0

雖然這段代碼是受歡迎的,並且可能會提供一些幫助,但如果它包含* how *和* why *的解釋](// meta.stackexchange.com/q/114762),它會[大大改進],這將解決問題。請記住,你正在爲將來的讀者回答這個問題,而不僅僅是現在問的人!請編輯您的答案以添加解釋,並指出適用的限制和假設。 –

2
使用

$sqlinsert="INSERT INTO projectcostingfile SET material = '".$selected."'"; 

還可以使用 '或死亡(mysqli_error());' mysqli_query後找出錯誤..

mysqli_query($conn, $sqlinsert) or die(mysqli_error($conn)); 
+0

嗨!仍然沒有插入。沒有顯示錯誤。 –

0
if(isset($_POST['submit'])){//to run PHP script on submit 
if(!empty($_POST['check_list'])){ 
// Loop to store and display values of individual checked checkbox. 
foreach($_POST['check_list'] as $selected){ 
echo $selected."</br>"; 
$sqlinsert="INSERT INTO projectcostingfile (material) VALUES ('".$selected."')"; 
mysqli_query($conn, $sqlinsert); 
} 
} 
} 

above code is your correct you just put following code such as post array 

<input type="text" name="check_list[]"> 
0

請試試這個:

if(isset($_POST['submit'])){//to run PHP script on submit 
if(!empty($_POST['check_list'])){ 
// Loop to store and display values of individual checked checkbox. 
$check_values = implode(",",$_POST['check_list']); 
echo $check_values; 
$sqlinsert="INSERT INTO projectcostingfile (material) VALUES ('".$check_values."')"; 
mysqli_query($conn, $sqlinsert); 

} 
} 

希望,這將幫助你。

0

我認爲你不能在給定的表中插入only one fieldmaterial。從你的問題中顯示的圖片,all fields in your table should not be null。所以我認爲我們不能通過填充一個字段來添加表中的行。您必須插入所有字段或將空狀態更改爲除material以外的所有其他字段的yes

我認爲這可能工作,如果你沒有任何其他選項。

+0

我認爲這是更好的方法。如果您將字段設置爲非空,並且「INSERT」關鍵字基本上創建了一條記錄。所以你需要用值或默認值填充其他列。否則,你的代碼沒有問題 – kampangala

0

大部分解決方案已在上面給出。但我想告訴你,即使面臨這樣的問題是我的code, Mysql connnection, query , php codes哪裏正確,但在我的數據庫裏面myphpadmin我不小心添加了'黑空間'附近的sql表或列名稱,因爲我的sql查詢沒有給我該錯誤,但也沒有插入代碼。我建議你試試這個。

如果不行,我的不好。