我在一个相当冗长的更新查询结束时使用以下代码(为了便于阅读,我删除了其余的代码):
WHERE username = '$username' AND charname = '$charname'"
此函数检查角色是否属于用户,并且该函数正在更新正确的角色。
当我尝试在页面上使用更新功能时,我会收到以下文字:
您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以便在' Myusername'附近使用正确的语法。 AND charname =' Mycharacter''在第1行
一些快速说明:
Myusername是创建此角色的帐户的用户名。代码在用户登录后通过会话变量检索。
Mycharacter是用户尝试更新的字符的名称。当用户单击激活此功能的按钮时,将从同一页面上的文本框中检索它。
我已经彻底梳理了WHERE之前的MySQL更新查询,并且语法都很好,所以我很难理解为什么这不起作用!
编辑:仅供参考,这是整个查询。公平的警告,它很长......如果你是一个辐射粉丝,你或许可以弄清楚我想做什么;)
$update = "UPDATE Publicchars
SET chargender = '$chargender',
ruleset = '$ruleset', level = '$level',
hp = '$hp', ap = '$ap',
carryweight = '$carryweight', defenses = '$defenses',
strength = '$strength', perception = '$perception',
endurance = '$endurance', charisma = '$charisma',
intelligence = '$intelligence', agility = '$agility',
luck = '$luck', skills = '$skills',
perks = '$perks', traits = '$traits',
implants = '$implants', abilities = '$abilities',
weapons = '$weapons', armor = '$armor',
ammo = '$ammo', drugs = '$drugs',
food = '$food', alcohol = '$alcohol',
meds = '$meds', items = '$items',
karma = '$karma', reputation = '$reputation',
accomplishments = '$accomplishments',
backstory = '$backstory', notes = '$notes'
WHERE username = '".$username."'
AND charname = '".$charname."'";
答案 0 :(得分:0)
您在声誉后错过了'
。
然后尝试:
WHERE username = '$username' AND charname = '$charname'";
这似乎让我的语法至少保持高兴......