0

我有一个名字数组。我的表结构是:

id | name

将数组中的每个名称插入表中的单独行的最佳方法是什么?

id | name
 1 | John
 2 | James

我正在考虑在 PHP 中循环遍历数组,但一定有更好的方法吗?

4

2 回答 2

3

以 MySQli 为例:

$DB = new mysqli ("Server","username","password","database");

$Array = array("Daryl", "AnotherName");
foreach ($Array AS $Names){
  $Query = $DB->prepare("INSERT INTO Table (Name) VALUES (?)");
  $Query->bind_param('s',$Names);
  $Query->execute();
  $Query->close();
}

最好的方法是使用 foreach 遍历数组以获取各个值。然后在循环到下一个值之前对当前值执行插入。

于 2013-06-03T14:12:09.650 回答
0

对@Daryl Gill 的小改进,以获得prepare更好的实践

// List of names to insert
$names = array("Daryl", "AnotherName");

// Prepare once
$sh = $db->prepare("INSERT INTO tblname (Name) VALUES (?)");

foreach ($names AS $name){
  $sh->bind_param('s', $name);
  $sh->execute();
}

// Free resource when we're done
$sh->close();
于 2013-06-03T14:34:11.790 回答