MySQL - 未找到列:1054未知列

时间:2015-11-20 08:33:34

标签: php mysql

我有这样的PHP / SQL查询:

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

并收到错误:

  

未找到专栏:1054未知专栏'但丁'在' where子句

然而,Dante列不在查询中(它是$searchParams->firstname

中的用户输入

我在google上看到SQL读取的东西还原,所以从右到左,问题应该是叛逆或引号。我试图替换很多东西,但找不到如何解决这个问题的正确方法。

有人可以告诉我我做错了吗?

2 个答案:

答案 0 :(得分:1)

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

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

您还在名字和姓氏中传递了相同的变量,请检查。

答案 1 :(得分:1)

您需要将您的值放在引号

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