当我在查询中使用LIKE运算符时,我一直试图替换'%:value%'中的值。
我也尝试过使用CONCAT(),但是那也不起作用。
$query = "SELECT *
FROM books
WHERE title LIKE '%:title%'";
...
...
statement->bindValue(':title', $title, PDO::PARAM_STR);
:title应该用变量$ title代替,但是不是。查询工作正常,但:title不会被替换。
答案 0 :(得分:0)
您尝试像这样使用concat()
吗?
SELECT *
FROM books
WHERE title LIKE CONCAT('%', :title, '%')
答案 1 :(得分:0)
您可能想要:
$query = "SELECT *
FROM books
WHERE title LIKE CONCAT( '%', :title, '%')";
...
...
statement->bindValue(':title', $title, PDO::PARAM_STR);
bind参数应用作垃圾字符串。 CONCAT可用于在两端用百分号连接参数。