我试图做的是在for 循环中创建不同的插入语句并在循环中执行它们。那可能吗?
这是简化的代码:
$mysqli = new mysqli("localhost", "user", "password", "database");
for($i=1; $i<10; $i++){
// $query string is created through code, so
// INSERT statement is varying after each loop.
// Lets say, in another step $query will be "INSERT INTO table (row4,row5) VALUES (?,?)";
// $params will be array("value4","value5");
$query = "INSERT INTO table (row1,row2,row3) VALUES (?,?,?)";
$param_type = "sss";
$params = array("value1","value2","value2");
$insert_stmt = $mysqli->prepare($query);
array_unshift($params, $param_type);
call_user_func_array(array($insert_stmt, 'bind_param'), refValues($params));
$insert_stmt->execute();
$insert_stmt->close();
}
如果我运行此代码,我得到的只是一个插入的行并警告 “call_user_func_array() 期望参数 1 是有效的回调,第一个数组成员不是有效的类名或对象...”
所以我的问题是:如何通过for循环准备和插入不同的查询和参数?