在PHP中使用SQL更新时遇到一些麻烦。下面列出了该功能的摘录:
$captain = $this->getUserName();
$member = $textParts[1];
$memberNo = 'member1';
$sqlUpdate = 'UPDATE ajax_chat_draft_teams SET '.$memberNo.'='.$member.' WHERE captain='.$captain.'';
$result = $this->db->sqlQuery($sqlUpdate);
当达到查询时,它会抛出以下错误:
Query: UPDATE ajax_chat_draft_teams SET member1=user WHERE captain=Oolius
Error-Report: Unknown column 'Oolius' in 'where clause'
Error-Code: 1054 error occured!
表ajax_chat_draft_teams有5个字段:captain,member1,member2,member3,member4 (注意:表中有一个记录,其中队长是Oolius,所有成员都是NULL)。
我没有看到我的SQL语句出了什么问题。谢谢你的时间。
答案 0 :(得分:1)
字符串文字需要用单引号括起来。查询应如下所示:
UPDATE ajax_chat_draft_teams SET member1='user' WHERE captain = 'Oolius'
另外,请考虑使用PDO并绑定变量。
答案 1 :(得分:1)
试试这个:
$sqlUpdate = 'UPDATE ajax_chat_draft_teams SET '.$memberNo.' = "'.$member.'" WHERE captain = "'.$captain.'"';
答案 2 :(得分:0)
你需要将Oolius放在引号中,其他MySQL认为它是一个列名。
答案 3 :(得分:0)
使用此
$ sqlUpdate ='更新ajax_chat_draft_teams SET '。$ memberNo。'=''。$ member。'“WHERE captain =”'。$ captain。'“';
我希望它会对你有所帮助。