我有这段代码用于使用 PDO 将准备好的值插入 MySQL,但我正在寻找一种用循环整理它的方法,以避免重复:
// PDO connect
$pdo = new PDO($sqldsn, $sqluser, $sqlpass, $sqlopt);
// Prepare query
$stm = $pdo->prepare("$query");
// Cycle through additional values
foreach(func_get_args() as $arg) {
$sqlarray[] = $arg;
}
// Execute query with values
$count = count($sqlarray);
if ($count == "2") { $stm->execute([$sqlarray[1]]); }
if ($count == "3") { $stm->execute([$sqlarray[1], $sqlarray[2]]); }
if ($count == "4") { $stm->execute([$sqlarray[1], $sqlarray[2], $sqlarray[3] ]); }
if ($count == "5") { $stm->execute([$sqlarray[1], $sqlarray[2], $sqlarray[3], $sqlarray[4] ]); }
if ($count == "6") { $stm->execute([$sqlarray[1], $sqlarray[2], $sqlarray[3], $sqlarray[4], $sqlarray[5] ]); }
if ($count == "7") { $stm->execute([$sqlarray[1], $sqlarray[2], $sqlarray[3], $sqlarray[4], $sqlarray[5], $sqlarray[6] ]); }
// Fetch all
$result = $stm->fetchAll();
// Return result
return $result;
我试过这样循环,但我没有得到任何结果(除了数组条目的数量):
for ($i = 1; $i<=$count; $i++){
echo $i;
$stm->execute([$sqlarray[$i]]);
}
我还尝试使用 eval() 构建这些部分,但出于安全原因,这不是一个安全的想法。
我只需要它按照我的代码循环,但不必指定每个可能的准备数量?价值观。任何人都可以帮忙吗?抱歉这个新手问题,但我目前正在学习 PHP。
慕姐4208626
Cats萌萌