gpt4 book ai didi

php - foreach 循环中的多行更新

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

我的 SQL 表

table->requirement

id label_name label_value requirement_id
103 budget 5000 4
104 specialist dentist 4
105 treatment clinic 4
106 expertise criminal 5
107 charges 5100 5

我正在尝试通过 mysql-php 更新此表中的 label_value

我已经在 php 中尝试了这段代码,但它正在运行。

foreach ($data as $columnName => $colValue) {
echo $subQuery .= "UPDATE `$tableName` SET `label_value`='$colValue' where (`label_name`='$columnName' AND `requirement_id`='$id')";
mysql_query($subQuery);
}

获取输出-

UPDATE requirement SET label_value='Physician' where (label_name='specialist' AND requirement_id='2')

UPDATE requirement SET label_value='Physician' where (label_name='specialist' AND requirement_id='2')

UPDATE requirement SET label_value='On Your Home' where (label_name='Appointment' AND requirement_id='2')

我不知道这是否正确,但我需要更新此表的形式。请帮我解决这个问题。

最佳答案

您需要从 .= "UPDATE 中删除 . 因为它将连接您的查询。

对于循环的第一次迭代,它将生成

UPDATE `$tableName` SET `label_value`='$colValue' where (`label_name`='$columnName' AND `requirement_id`='$id'

这个查询有效但是对于第二次迭代它会生成

UPDATE `$tableName` SET `label_value`='$colValue' where (`label_name`='$columnName' AND `requirement_id`='$id' UPDATE `$tableName` SET `label_value`='$colValue' where (`label_name`='$columnName' AND `requirement_id`='$id'

这是错误的语法。

只需使用

foreach ($data as $columnName => $colValue) {
echo $subQuery = "UPDATE `$tableName` SET `label_value`='$colValue' where (`label_name`='$columnName' AND `requirement_id`='$id')";
mysql_query($subQuery);
}

尝试学习mysqli或pdo,因为mysql已经被淘汰

同时了解mysqli_multi_query

关于php - foreach 循环中的多行更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36129156/

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