MySQL中的PHP字符串变量与查询一样

时间:2015-08-14 02:52:27

标签: php mysql sql string

所以我试图接受一个PHP变量并将其插入到一个简单的SQL查询中,但它不起作用,我似乎无法弄清楚这个问题。

注意:我知道此代码存在安全问题

staff_model.php文件:

function getSearches($searchterm) {
        $sql = "SELECT * 
                FROM people 
                WHERE name 
                LIKE '%{$searchterm}%'";
        $query = $this->db->query($sql);
        return $query;
    }

我的表有几列,但它有像id,name,subject,type这样的列。我得到$ searchterm的方式就像

var searchText = document.getElementById('custom-search-text').value; 

在我的javascript文件中,我会通过

将其传递给users.php
$.get(url+"/api/users/staff", {id: id, name: name, type: type, subject: subject, search: searchText})

为了确保其他一切工作正常,我为searchTerm编写了一些硬编码(如$sql = "SELECT * FROM people WHERE name LIKE 'Matt'"之类的内容),我确实得到了正确的结果。

我尝试的其他内容是$sql = "SELECT * FROM people WHERE name LIKE $searchTerm",但这不起作用。

关于如何使用通配符的任何想法?

2 个答案:

答案 0 :(得分:0)

如何“SELECT * FROM people WHERE name LIKE'%”。$ searchterm。“%'”;

答案 1 :(得分:0)

试试这个  $ sql =“SELECT *          来自人民          姓名          喜欢'%'。$ searchterm。“%'”;

使用。作为连接运算符