gpt4 book ai didi

php - 如何使用pdo准备语句在mysql中插入多条记录?

转载 作者:行者123 更新时间:2023-11-29 10:31:58 24 4
gpt4 key购买 nike

我想通过准备好的语句在单个查询中插入 10 条或更多记录,这是我的代码

$sql="INSERT INTO post (a,b,c) VALUES ";

$placeholder='';
foreach($result as $record){
$arr=array($record[a],$record[b],$record[c]);
$values[]=$arr;
$placeholder.="(?,?,?),";
}

$placeholder=rtrim($placeholder,',');
$sql.=$placeholder;

try{
$res=$db->prepare($sql);
$res->execute($values);
}catch(Exception $e){
echo $e->getMessage();
}

但是,这不行。可以做我想做的事吗?下一个问题是,如果我准备语句并执行该语句 10 次会怎样?连接是否重新创建 10 次?(频繁连接数据库不好)因为在我的真实代码中我想将超过 1000 条记录插入到新表中。

最佳答案

构建要绑定(bind)的值时,构建一个数组数组,这应该只是您要绑定(bind)的值的数组。

foreach($result as $record){
$values[] = $record[a];
$values[] = $record[b];
$values[] = $record[c]);
$placeholder.="(?,?,?),";
}

或者,如果您只想将所有值添加到数组中,则可以使用 array_merge()。

关于php - 如何使用pdo准备语句在mysql中插入多条记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47247089/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com