我想使用更新查询来更改数据库中保存的值,我尝试存储的新值都保存在php变量中。我不确定我做错了什么。MYSQL更新查询php
的mysql_query( “UPDATE SET用户状态 = '满' WHERE USER_ID = '$ USER_ID'”)或死亡(mysql_error());
这里是错误消息
重复条目 '91317691' 的关键1
在此先感谢
我想使用更新查询来更改数据库中保存的值,我尝试存储的新值都保存在php变量中。我不确定我做错了什么。MYSQL更新查询php
的mysql_query( “UPDATE SET用户状态 = '满' WHERE USER_ID = '$ USER_ID'”)或死亡(mysql_error());
这里是错误消息
重复条目 '91317691' 的关键1
在此先感谢
我认为你需要改变
.. ''+ $ user_id +“'”...
把你的单双号后加上你的$ user_id,然后加上最后的结尾“'”(双引号,单引号,双引号)
此外,如果你没有控制$ user_id变量,你可能会打开SQL注入攻击
它看起来像你的user_id字段是一个整数。把“”围绕这将打破东西
尝试不带引号
mysql_query("UPDATE user SET status='full' WHERE user_id = $user_id")or die(mysql_error());
这意味着有独特的密钥的重复。假设您在(user_id, status)
和status
上使用的是唯一enum
,如果是这种情况,您可能已经有与您尝试更新的条目匹配的条目。
| user_id | status |
| 1234 | full |
| 1234 | none |
如果不是这种情况,发布架构会有所帮助。
道歉,我意识到问题是在我的PHP脚本其他地方引起的,但我已经解决了它。
感谢您的指导
发生了什么或没有发生什么?您是否100%确定存在具有该ID的用户记录? '$ user_id'包含什么? – 2010-04-27 18:30:16
您需要更具体地了解发生的错误类型。也许发布mysql_error()的文本。 – Chaim 2010-04-27 19:03:33
请同时添加'SHOW CREATE TABLE user'的输出。您是否确定您发布的查询导致此“重复条目”错误? – VolkerK 2010-04-27 19:24:04