2017-07-10 51 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

はこのようなクエリで列名を指定します(order_producten'(column_name1、column_name2) 'VALUES。INSERT INTO ?、?) –

+0

あなたは 'order_producten'の構造を表示できます –

+0

私のコードでは愚かな欠陥が早く見つかった、助けてくれてありがとう! – jol123

答えて

0

order_productenがより多くても少なくて2つの列を持つことになりますし、あなただけの2つの値を設定しています。
テーブル名の後ろに列を指定してください。例えば、

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

ありがとうございました。私のテーブルは2列しかなく、2つの値を設定したい。私はPDOを使用し、同じコードを持つ以前に作成された関数が私のために働いていたと言っていたことを忘れてしまった。だから、この解決法は私のためには機能しません。 – jol123

+0

@ jol123:Then失敗している他のクエリがあります。このクエリはありません。挿入値が列リストと一致しないというエラーメッセージが表示されるためです。 –

+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

これはいいえ、質問に答える場合は、質問自体に追加する必要があります。削除してください –

関連する問題