1
PHP PDOを使用してデータベースにデータを挿入する動的関数を作成しています。なぜバインドされた変数の数がトークンのエラーメッセージの数と一致しないのですか?
ここにはDatabase
クラスの関数があります。
public function insert ($table, $feilds = array()) {
$key = array_keys($feilds);
$column = implode(',', $key);
$ques = array();
foreach ($feilds as $value) {
$ques[] = " ?";
}
$ques = implode(', ', $ques);
$stmt = $this->_pdo->prepare("INSERT INTO $table($column) VALUES ($ques)");
$x=1;
foreach ($feilds as $key => $value) {
$stmt->bindParam($x, $var);
$var = $value;
$stmt->execute();
$x++;
}
}
私はこのようなデータを挿入しています:
$data = array(
'b_title' => 'My blog title',
'b_des' => 'My blog description',
);
$database->insert('blog', $data);
しかし、私はこのクエリを実行すると、それは
無効なパラメータの番号を言っている:バインド変数の数は、トークンの 数と一致しません
わかりませんバインドされた変数とトークンは一致しません!どうすれば解決できますか?
ありがとうございました。
OH外に行く必要があり、私は –
:(ブラインドよ、それは誰にでも起こります:P – thelmuxkriovar