gpt4 book ai didi

Php 插入/更新多行,使用数组而不是 foreach

转载 作者:可可西里 更新时间:2023-11-01 08:06:00 25 4
gpt4 key购买 nike

我想知道这是否可能,我已经搜索并没有找到任何东西所以要放弃。

例如,我希望执行以下操作,注意我不想使用 foreach,因为它会将其转换为单个查询。

$a = (1,2,3);
$b = ('john','Rob','Stuffs');
$c = ('doe','roe','soe');

$sql = "update ppl set firstname = $b, lastname = $c where id = $a";

对于插入也可以这样说。

$sql = "insert into ppl (firstname,lastname) value ($b,$c)";

我希望这样做的主要原因是稍微优化数据库。有很多单个查询(如果可以使用此方法)可以转换为 1 个单个查询。

提前致谢。

最佳答案

if (count($a) <= 0)
return; // nothing to do

$sql = "INSERT INTO table (id, firstname, lastname) VALUES";
while (count($a) > 0)
{
$id = array_shift($a);
$fname = array_shift($b);
$lname = array_shift($c);

$sql .= sprintf("('%s', '%s', '%s'),", mysql_real_escape_string($id), mysql_real_escape_string($fname), mysql_real_escape_string($lname));
}
$sql = substr($sql, 0, -1); //remove last comma

$sql .= " ON DUPLICATE KEY UPDATE firstname=VALUES(fname), lastname=VALUES(lname)";

//run your sql

这将允许您一次运行所有这些。

关于Php 插入/更新多行,使用数组而不是 foreach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20738680/

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