gpt4 book ai didi

php - 在 PDO 查询中执行 foreach 循环

转载 作者:行者123 更新时间:2023-11-29 11:39:52 25 4
gpt4 key购买 nike

我正在尝试使用 PDO 将序列化表单数据存储到 mysql 中。 DB表列名、字段名一切都是动态的。

更新.php

$data = $_POST['data'];
parse_str($_POST['data'], $searcharray);
foreach($searcharray['column_name'] as $key=>$value) {
echo $value;
}
foreach($searcharray['data_name'] as $k=>$v) {
echo $v;
}

下面的 foreach 循环返回 colname_1colname_2colname_3(不带逗号)

foreach($searcharray['column_name'] as $key=>$value) {
echo $value;
}

另一个 foreach 循环返回 biketvssuzuki (不带逗号)

foreach($searcharray['data_name'] as $k=>$v) {
echo $v;
}

我想更新 colname_1 中的自行车以及 colname_2suzuki 中的电视> 在 colname_2 中。如何在 PDO 查询中执行上述两个 foreach 循环?

try
{
$update_query = $dbh->prepare("UPDATE ".REQUIREMENTS_DB." SET colname_1 = ?, colname_2 = ?, colname_3 = ? WHERE id = :id");
$update_query->bindParam(':id', $id);
$update_query->execute();

echo "Updated Successfully";
}
catch (PDOException $e)
{
die('Error ' . $e->getMessage());
}

最佳答案

您正在寻找这样的东西吗?

$sql = "UPDATE ".REQUIREMENTS_DB." SET ";
for ($i = 0; $i < count($searcharray['column_name']); $i++) {
$sql .= $searcharray['column_name'][$i]." = ".$searcharray['data_name'][$i];
if ($i < (count($searcharray['column_name'])-1)) $sql .= ", "
}
$sql .= "WHERE id = :id";

$update_query = $dbh->prepare($sql);
...

这是非常基本的代码,可以/应该进行大量改进。

关于php - 在 PDO 查询中执行 foreach 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35995852/

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