2017-07-10 116 views
-1

我想插入一個記錄到2列的表,但我得到這個錯誤。 我的錯誤在部分執行中開始。任何人都可以幫助我解決這個問題? 我正在使用PDO。插入值不匹配列列表:1136

我的代碼:

global $conn_kl; 
$sql = $conn_kl->prepare("INSERT INTO order_producten VALUES (?,?)"); 
$sql->execute(array($product_id, $bewerking_id)); 
+3

在這樣的查詢指定列名稱:INSERT INTO order_producten'(column_name1,column_name2)'VALUES( ?,?) –

+0

可以顯示'order_producten'的結構嗎? –

+0

我在前面的代碼中發現了一個愚蠢的錯誤,感謝您的幫助! – jol123

回答

0

order_producten將有多於或少於兩列,並要設置只有兩個值。
請指定表名後面的列。例如,

INSERT INTO order_producten(id, name) VALUES(?, ?) 
+0

謝謝你的回答。我的表只有2列,我想設置2個值。我被遺忘說我使用PDO和早期創建的具有相同代碼的函數爲我工作。所以這個解決方案不適合我。 – jol123

+0

@ jol123:然後必須有一些其他查詢失敗,而不是這一個。因爲錯誤消息很明顯,插入值與列表不匹配。 –

+0

只有當我執行這個函數時,它會給我那個錯誤。在我嘗試執行之前,我的代碼中可能有錯誤嗎? – jol123

1

問題就在這裏:

INSERT INTO order_producten VALUES (?,?) 

這裏列在此查詢中定義的,在這種情況下,預計你必須通過所有的值表格中的列。但是你要插入的值只有2列,所以請請註明像列名:

INSERT INTO order_producten(column_name1, column_name2) VALUES (?,?) 
-1

例如,代碼這樣的事情是爲我工作:

global $conn_kl; 
    $sql = $conn_kl->prepare("INSERT INTO `order_bewerkingen` VALUES (null, ?, ?, ?)"); 
    $sql->execute(array($order_id, $method, $position)); 
+0

這不是 - 在回答問題時,需要將其添加到問題本身中。請將其刪除 –

相關問題