从1表单在数据库中插入多行

时间:2014-06-14 21:30:06

标签: php mysql sql forms

好的,我需要在一个表单中使用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个将适用)。他们是一种更实际的方法来实现同样的结果吗?或者我最好坚持我原先计划的方式?

1 个答案:

答案 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_paramhttp://uk3.php.net/manual/fr/mysqli-stmt.bind-param.php

中理解“iss”参数

2°)生成批量插入:

Batch inserts with PHP