![](/img/trans.png)
[英]Update multiple field and rows in mysql database in input at once in php
[英]How to update multiple mysql database rows with same field names?
我正在尝试更新所有共享相同字段名称的多行。
结构如下:
+---+-------+--------+
|id | name | value |
+---+-------+--------+
| 1 | color | red |
| 2 | fruit | apple |
| 3 | day | friday |
+---+-------+--------+
所以,像:
$config_data = "UPDATE system_config SET color = '$_POST[color]', fruit = '$_POST[fruit]', day = '$_POST[day]'";
$success = mysql_query($config_data);
... 不管用。 我该如何执行此查询?
尝试
$config_data = "UPDATE system_config SET value = '$_POST[color]' WHERE name = 'color';";
$success = mysql_query($config_data);
$config_data = "UPDATE system_config SET value = '$_POST[fruit]' WHERE name = 'fruit';";
$success = mysql_query($config_data);
$config_data = "UPDATE system_config SET value = '$_POST[day]' WHERE name = 'day'";
$success = mysql_query($config_data);
相反。在这种情况下,有必要加入更多查询
您可能不会只在一个查询中执行此操作。
mysql_query()向与指定link_identifier关联的服务器上的当前活动数据库发送唯一查询(不支持多个查询)。
http://cl.php.net/manual/en/function.mysql-query.php
如果你想“一次性”进行多个查询,你可以使用mysqli_multi_query
update system_config
set value =
case
when name = 'color' then 'something1'
when name = 'fruit' then 'something2'
when name = 'day' then 'something3'
else value
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.