搜索查询麻烦

时间:2014-08-12 12:49:38

标签: php

我有一个非常简单的搜索脚本的功能,但似乎没有工作,我只是找不到错误,即使我认为很容易看到!为了简单易懂,我省略了安全性!

public function listing() {
        if(isset($_POST['immoSearch']) && $_POST['immoSearch'] !== '') {
            $immoSearch = $_POST['immoSearch'];
            $sth = $this->db->prepare("SELECT * FROM `listing` WHERE `name` LIKE :search_string" );
            $sth->execute(array(':search_string' => '%$immoSearch%'));
            return $sth->fetchAll();
        }
}

1 个答案:

答案 0 :(得分:2)

您在此处查询的内容为:

SELECT * FROM `listing` WHERE `name` LIKE %$immoSearch%

<强>固定

public function listing() {

    if(isset($_POST['immoSearch']) && $_POST['immoSearch'] !== '') {


        $immoSearch = $_POST['immoSearch'];
        $sth = $this->db->prepare("SELECT * FROM `listing` WHERE `name` LIKE :search_string" );
        $sth->execute(array(':search_string' => "%{$immoSearch}%"));
        return $sth->fetchAll();


        }

}

编辑: 请注意,带有execute方法的行现在使用双引号。

相关问题