gpt4 book ai didi

php - MySQL 只更新一半的查询

转载 作者:行者123 更新时间:2023-11-29 02:23:49 24 4
gpt4 key购买 nike

我正在尝试使用 MySQL UPDATE 查询来更新数据库中的两个项目。但是,它似乎只更新了查询中要求的一半内容。

我使用的代码如下:

$db->query("UPDATE User_files SET Uploads=" . $rows['Uploads']-=1 . ", Files='" . $newfilesescaped . "' WHERE user=" . $escapeduser . "");

它更新了一半的查询,即将“上传”设置为正确的数字。但是,文件列与之前完全相同。

我同时回显了 $newfilesescaped 和 var_dumped,它们都返回了我想要更新的产品。

最佳答案

您的 sql 语句是错误的:-= 运算符具有较低的 precedence. 运算符。

你应该在 sql 语句之外做你的数学或者使用类似的东西:

"UPDATE User_files SET Uploads=" . --$rows['Uploads'] . ", Files='" . $newfilesescaped . "' WHERE user=" . $escapeduser

现在,在应用该操作之前,您将连接 -= 两边的字符串,您的 sql 语句将不是您期望的那样。

请参阅此处 an example of both sql strings以及生成的sql语句之间的区别。请注意,您现在拥有的内容将更新表格中所有 行的Uploads 列。

关于php - MySQL 只更新一半的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26762954/

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