【发布时间】:2016-07-19 14:33:54
【问题描述】:
求助,我在连接类中创建了一个方法,用于连接到本地数据库以插入记录。我允许将参数传递到方法中以动态选择表、列和值。
在这种方法中,我将列和占位符内爆到查询中,这很好。我遇到的问题是将值绑定到占位符。我不断收到一条错误消息,指出“没有为准备好的语句中的参数提供数据”。我在这里搜索了一些相同的问题,但似乎没有一个可以解决我的问题。谢谢
public function InsertQuery( $table, $values, $cols)
{
$placeholders = array();
foreach ($values as $val) {
$placeholders[] = '?';
}
$placeholderList = implode(',', $placeholders);
$query = "INSERT INTO $table".'('.implode(',',$cols).') VALUES '. '('.$placeholderList.')';
$connect = $this->dbConnection;
if ($stmt = $connect->prepare($query)) {
$param_type = array("ssis");
$params_array = array_merge($param_type,$values);
call_user_func_array(array($stmt, 'bind_param'), $params_array);
}
}
【问题讨论】:
标签: php database sql-insert