我有一个名字数组。我的表结构是:
id | name
将数组中的每个名称插入表中的单独行的最佳方法是什么?
id | name
1 | John
2 | James
我正在考虑在 PHP 中循环遍历数组,但一定有更好的方法吗?
以 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 遍历数组以获取各个值。然后在循环到下一个值之前对当前值执行插入。
对@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();