我正在尝试为非常基本的搜索功能编写准备好的语句。基本上,我只需要在标题包含搜索词时返回“标题”(但可能还包含比搜索词更多的单词)。
我可以在普通的mysqli中执行此操作,但不能使用准备好的语句(我需要此语句来保证安全性,对吧?)
这有效,但没有准备好的声明:
$sql = "SELECT title, description FROM quiztime WHERE title LIKE '%".$query."%' OR description LIKE '%".$query."%'";
这不起作用:
$stmt = $conn->prepare("SELECT user, title FROM quiztime WHERE title LIKE %?%");
我登录了: PHP致命错误:未捕获的错误:
那么我该如何使其成为准备好的陈述呢?非常感谢!
答案 0 :(得分:0)
您必须使用串联:
$stmt = $conn->prepare("SELECT user, title FROM quiztime WHERE title LIKE concat('%', ?, '%')");