gpt4 book ai didi

mysql - 在 MySQL 中更新了错误的值

转载 作者:太空宇宙 更新时间:2023-11-03 12:25:40 26 4
gpt4 key购买 nike

$salt2我正在开发一个登录系统,但在更新我的盐表时遇到了问题。我不是 sql 方面的专家,但我知道自己的出路。

我要更新的查询是:

UPDATE hashTable SET `salt1` = 'salt1here' AND `salt2` = 'salt2here' WHERE `userID` = userID

userID是一个整数值,所以我不需要引用它。

当我更新那个表时 salt1设置为 0 的值.我正在使用 php 创建我的 sql 查询,它看起来像:

UPDATE hashTable SET `salt1` = '$salt1' AND `$salt2` = 'salt2here' WHERE `userID` = $userID

SIDE NOTE: I know about sql injection and I do have protection against that in my code. In this case I do not need this because the salt values are being generated by the script and user id is a value returned by a function. Any place where I do have user input I strip slashes and have ways to prevent injection.

对我来说,我的 sql 查询似乎是正确的,而且我知道我的值是正确的,因为这是动态创建的查询的样子:

UPDATE hashTable SET `salt1` = '9d6db1743e5e0cf1bb0e8cd799c0640231a10ec21e1612a6ed46e8ea16862835' AND `salt2` = '0824b2aac446ccfbd719645f84b13443cbcf59ee4e6dabace8c421ff6a8c6688' WHERE `userID` = 1374770432

我什至直接将其输入到 phpMyAdmin 中,它显示 0 rows affected但仍然改变了我的 salt1排到 0 .

我有点困惑,因为看起来我做的一切都是正确的,但显然我不是。

最佳答案

你的SQL查询有误;

UPDATE hashTable 
SET `salt1` = '$salt1' AND `$salt2` = 'salt2here'
WHERE `userID` = $userID

……应该是……

UPDATE hashTable 
SET `salt1` = '$salt1', `$salt2` = 'salt2here'
WHERE `userID` = $userID

目前,您正在 $salt1$salt2 = 'salt2here' 之间执行 AND 操作(这似乎返回 0在这种情况下)并将其存储在 salt1 中。

关于mysql - 在 MySQL 中更新了错误的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17864444/

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