Php MySQL-未找到列:1054未知列

Php MySQL-未找到列:1054未知列,php,mysql,Php,Mysql,我有如下PHP/SQL查询: return $this->db->query("SELECT * FROM candidates WHERE firstname = ".$searchParams->firstname." AND surname = ".$searchParams->firstname.""); 和获取错误: 未找到列:“where子句”中的1054未知列“Dante” 但是,Dante列不在查询中(它是用户在$searchParams->firstn

我有如下PHP/SQL查询:

return $this->db->query("SELECT * FROM candidates WHERE firstname = ".$searchParams->firstname." AND surname = ".$searchParams->firstname."");
和获取错误:

未找到列:“where子句”中的1054未知列“Dante”

但是,Dante列不在查询中(它是用户在
$searchParams->firstname

我在谷歌上读到,SQL读东西会还原,所以从右到左,问题应该是撇号或引号。我尝试替换很多东西,但找不到正确的方法来解决这个问题


有人能告诉我我做错了什么吗?

尝试将输入包括到字符串中,如下所示:

return $this->db->query("SELECT * FROM candidates WHERE firstname = '".$searchParams->firstname."' AND surname = '".$searchParams->firstname."'");

另外,您已经以名字和姓氏传递了相同的变量,请检查。

您需要在引号中输入您的值

return $this->db->query("SELECT * FROM `candidates` WHERE `firstname` = '".$searchParams->firstname."' AND `surname` = '".$searchParams->firstname."'");

是否转义参数(我甚至看不到有关值的“”)…根据SQL连接器mysql/mysqli/pdo的类型,有不同的方法来转义查询..请阅读
return$this->db->query(“选择*来自firstname='$searchParams->firstname',姓氏='$searchParams->firstname')
小心,这里有一个很大的MySQL注入。谢谢,现在我看到了!嘿,谢谢你的回答AG21:)你是对的,我试图用单引号来逃避这个问题,但没有真正的帮助