Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 更新查询,更新多个数据_Php_Mysql - Fatal编程技术网

Php 更新查询,更新多个数据

Php 更新查询,更新多个数据,php,mysql,Php,Mysql,我想使用这段代码更新多个数据,但问题是,当我尝试它时,它会更新具有相同类别id的所有数据,并且应该单独更新。解决办法是什么。请帮忙。提前感谢:) 您需要将主键添加到要更新的行的WHERE子句中,现在您只需使用某个类别id更新所有行 因此,将主键id添加到表中(如果您的表还没有主键),并将其设置为自动递增。然后修改select查询: "SELECT id, specs, category_id, price FROM specs WHERE category_id='$targetID'" 将该

我想使用这段代码更新多个数据,但问题是,当我尝试它时,它会更新具有相同类别id的所有数据,并且应该单独更新。解决办法是什么。请帮忙。提前感谢:)


您需要将主键添加到要更新的行的WHERE子句中,现在您只需使用某个
类别id更新所有行

因此,将主键
id
添加到表中(如果您的表还没有主键),并将其设置为自动递增。然后修改select查询:

"SELECT id, specs, category_id, price FROM specs WHERE category_id='$targetID'"
将该
id
添加到隐藏的输入字段中

然后可以修改更新查询,如下所示:

"UPDATE specs SET specs='$specs', price='$price' WHERE category_id='$pid' AND id='$id'"
SQL注入警报


您还应该知道,您所编写的代码非常危险,并且容易出错。永远不要在查询中直接使用GET/POST变量。请使用或。

你能不能只提到查询,我可以编辑它来做这件事,但如果你把问题分开就好了。你有查询
更新规格集规格='$specs',价格='$price'其中category_id='$pid'
对于category_id有一个WHERE条件,因此,它将更新所有具有该类别id的记录。这里有什么问题!你能解释一下吗!它假设只更新一个数据,我在想我是否应该使用一个数组来分别更新它们,以及如何使用它。很抱歉,我只是一个php初学者。你问这个问题是因为对mysql有疑问,如果你能单独发布查询,并给出预期结果和实际结果,那会有帮助。同一个类别id上有3个数据,我想分别更新。谢谢你提供的信息。但是如何在隐藏的输入字段中添加id呢?
"SELECT id, specs, category_id, price FROM specs WHERE category_id='$targetID'"
"UPDATE specs SET specs='$specs', price='$price' WHERE category_id='$pid' AND id='$id'"