gpt4 book ai didi

php - 逗号分隔的字符串作为字段和数据 - 在 php mysql 中更新查询

转载 作者:行者123 更新时间:2023-12-01 00:02:03 25 4
gpt4 key购买 nike

我有以下数据

$field  = 'f1','f2','f3'; // (comma separated string)
$value = 'v1','v2','v3'; // (comma separated string)

是否有任何快捷方式可以生成这样的更新查询。

UPDATE table set ($field = $value) where id =1;

此方法适用于插入查询,但我不知道如何使用这样的更新查询。

最佳答案

我认为解决此类问题的最佳方法是将数据存储在关联数组中,而不是像您使用的字符串:

$data = array(
'f1' => 'v1',
'f2' => 'v2',
'f3' => 'v3'
);

// Then for an insert:
$query = "INSERT INTO table (`".implode("`, `", array_keys($data))."`) VALUES ('".implode("', '", array_values($data))."')";

// And an update
$updates = array();
foreach ($data as $key => val) $updates[] = "`$key` = '$val'";
$query = "UPDATE table SET ".implode(', ',$updates)." WHERE `id` = 1";

// Or even a select
$where = array();
foreach ($data as $key => val) $where[] = "`$key` = '$val'";
$query = "SELECT * FROM table WHERE ".implode(' AND ',$where);

如果您这样做,您需要确保在构建数组时对数据进行转义。或者更好的是,使用 prepared statements .

关于php - 逗号分隔的字符串作为字段和数据 - 在 php mysql 中更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8473256/

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