我使用非常简单的插入语句。
INSERT INTO table (col1, col2, col3) VALUES (1,2,3), (4,5,6), (7,8,9), ...
目前,存储要插入的值的查询部分是在循环中构建的单独字符串。
如何使用预编译语句插入多行数据?
编辑:我找到了这段代码。但是,这会为每一行执行单独的查询。这不是我要找的。
$stmt = $mysqli->stmt_init();
if ($stmt->prepare("INSERT INTO table (col1, col2, col3) VALUES (?,?,?)")){
$stmt->bind_param('iii', $_val1, $_val2, $_val3);
foreach( $insertedata as $data ){
$_val1 = $data['val1'];
$_val2 = $data['val2'];
$_val3 = $data['val3'];
$stmt->execute();
}
}
编辑#2:我的值来自于一个长度可变的多维数组。$values = array( array(1,2,3), array(4,5,6), array(7,8,9), ... );
INSERT INTO table (col1, col2, col3, col4) VALUES (1,2,3,4)
? - Your Common Sense