MYSQL错误:1054-未知列
只是在PHP中的SQL更新中遇到了一些问题。下面列出的是该函数的摘录:MYSQL错误:1054-未知列,mysql,Mysql,只是在PHP中的SQL更新中遇到了一些问题。下面列出的是该函数的摘录: $captain = $this->getUserName(); $member = $textParts[1]; $memberNo = 'member1'; $sqlUpdate = 'UPDATE ajax_chat_draft_teams SET '.$memberNo.'='.$member.' WHERE captain='.$captain.''; $resul
$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\u chat\u draft\u teams有5个字段:captain、member1、member2、member3、member4
(注意:表中有一条记录,其中船长为乌利乌斯,所有成员均为空)
我看不出我的SQL语句有什么问题。谢谢您的时间。您需要将Oolius放在引号中,其他MySQL认为它是一个列名。字符串文本需要用单引号括起来。查询应如下所示:
UPDATE ajax\u chat\u draft\u团队设置成员1='user',其中captain='Oolius'
也可以考虑使用和绑定变量。
试试这个:
$sqlUpdate = 'UPDATE ajax_chat_draft_teams SET '.$memberNo.' = "'.$member.'" WHERE captain = "'.$captain.'"';
用这个
$sqlUpdate='updateajax\u chat\u draft\u团队集合
“.$memberNo.”=“.$member.”“WHERE captain=“.$captain.””
我希望这会对你有所帮助。在乌利乌斯周围加上引号,这让我很烦恼。谢谢你的魅力。这给我带来了很多麻烦。+1对于绑定,像这样的SQL请求注入攻击