好的,我需要在一个表单中使用MySql将多行插入数据库,每行都是一个结果。我开始做的是以下内容:
INSERT INTO results (1,2,3,4,5,6,7) VALUES (1,2,3,4,5,6,7), (8,9,10,11,12,13,14)
依此类推,我的问题是:
我不知道用户想要插入多少行结果(最多15个将适用)。他们是一种更实际的方法来实现同样的结果吗?或者我最好坚持我原先计划的方式?
答案 0 :(得分:0)
1°)使用预准备语句(如Java中所示):
(对于安全代码,始终使用预准备语句并避免生成SQL)
$stmt = $db->stmt_init();
$stmt->prepare("INSERT INTO foo_table (id, firstname, lastname) VALUES(?, ?, ?)");
foreach($myarray as $row)
{
$stmt->bind_param('iss', $row['id'], $row['firstname'], $row['lastname']);
$stmt->execute();
}
$stmt->close();
在bind_param
:http://uk3.php.net/manual/fr/mysqli-stmt.bind-param.php
2°)生成批量插入: