2
我用一个很简单的插入语句如何使用预处理语句
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), ...);
插入查询与多个值条款,就像任何其他常规查询。意味着你只需要准备和运行它。 –
你如何得到值(1,2,3),(4,5,6),(7,8,9)。它是从任何循环? – Shafeeque
我想要插入多个值集,如(1,2,3),(4,5,6),(7,8,9)等。这些值来自可变长度的多维数组。 – eevaa