PHP/MySQL : UPDATE multiples values with multiples WHERE

标签 php mysql sql

我遇到的问题是一个策略浏览器游戏,它有 7 种类型的值。问题如下:

  1. 我在 $_POST 中获得了 7 个不同的值,包括从索引 unit_1 到索引 unit_7。这 7 个值是 0 到 20 之间的整数,并且不是静态的。他们可以在每次调用页面时进行操作。它们代表发送的单位数量。
  2. 我的表中有 7 行不遵循相同的架构:"nameUnit"= "Soldier" && nbUnit = "0", "nameUnit"= "Mage" && nbUnit = "5" 等..
  3. 我需要更新 1 个请求中的单位数量,但我不知道如何执行此操作。

我想要做的示例:

UPDATE x SET nbUnit = $_POST['u1'] WHERE nameUnit = "Soldier", nbUnit = $_POST['u2'] WHERE nameUnit = "Mage" [...]

是否可以这样做并且可以在单个查询中完成吗?

最佳答案

这适用于你的情况

UPDATE x 
SET nbUnit = $_POST['u1'] 
WHERE (nameUnit = "Soldier" AND nbUnit = $_POST['u2']) OR 
(nameUnit = "Mage" AND nbUnit= $_POST['u5'])

关于PHP/MySQL : UPDATE multiples values with multiples WHERE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50293267/

相关文章:

php - 输出两个单词之间的文本

mysql - 如何在MYSQL中使用auto_increment为数字赋予特殊格式?

mysql - 如何在 INNER JOIN 中对 SUM 结果使用聚合 SUM 函数?

php - 在不失真的情况下调整图像大小,保持纵横比,然后使用 WideImage 裁剪多余部分

php - Magento - 获取当前产品

php - 在mysql中连接并计算单行中的多行

mysql执行查询性能低下

php - 我想使用 codeigniter 对我的结果进行一些修正

sql - 替换空值的 SQL 查询。

mysql - 如何实现连接运算符