我正在创建一个动态函数,以使用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);
但是当我运行这个查询时
无效的参数编号:绑定变量的数量不匹配
代币数量
我不明白绑定变量和令牌在哪里不匹配!我该如何解决?
谢谢。
最佳答案
$stmt->execute();
应该超出foreach