MYSQL错误:1054-未知列

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

只是在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\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请求注入攻击