如何使用字符串参数在DB中进行搜索

时间:2015-11-29 09:01:05

标签: php sql

我在制作正确的SQL字符串时遇到问题,并插入包含字符串的变量。

我以为我可以使用:

function get_search_books($parameters)
{
    $result = queryDatabase(
        "SELECT title FROM book WHERE title LIKE '%?%'",
        array(1 => $parameters[0])
    );
    //...
}

但这种情况似乎有效......

有没有人知道如何用字符串变量完成这项工作?

2 个答案:

答案 0 :(得分:1)

在绑定阶段,只需在参数中使用字符%即可。 试试这个:

$result = queryDatabase(
    "SELECT title FROM book WHERE title LIKE ?",
    array(1 => '%' . $parameters[0] . '%')
);

答案 1 :(得分:0)

您应首先通过插入数据库中的原始值来检查查询。比检查什么是错的。通过这种方式,您可以确定错误是在sql中还是在作为参数传递的数组中

"SELECT title FROM book WHERE title LIKE '%anythingindatabase%'",