Mysql 我正在尝试替换:执行查询时搜索,但它似乎没有被替换
在回顾这一点之后,我在使用准备好的语句时遇到了一些问题 我已将以下内容添加到我的db连接中:Mysql 我正在尝试替换:执行查询时搜索,但它似乎没有被替换,mysql,pdo,Mysql,Pdo,在回顾这一点之后,我在使用准备好的语句时遇到了一些问题 我已将以下内容添加到我的db连接中: $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 以下是我的查询语句: $query = "SELECT schedules.schedule_name, users.name, schedules.schedule_id FROM schedules INNER JOIN users ON schedules.a
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
以下是我的查询语句:
$query = "SELECT schedules.schedule_name, users.name, schedules.schedule_id
FROM schedules
INNER JOIN users
ON schedules.admin_id=users.user_id
WHERE schedules.schedule_name
LIKE '%:search%'
ORDER BY schedules.schedule_name";
$stmt = $db->prepare($query);
$result = $stmt->execute(array('search' => $search_string));
$search_results = $stmt->fetchAll();
如图所示,我正在尝试替换:在执行查询时搜索,但它似乎没有被替换。执行参数化查询时,它不是简单的字符串替换,也不会用单引号括起来:
$query = "SELECT schedules.schedule_name, users.name, schedules.schedule_id
FROM schedules
INNER JOIN users
ON schedules.admin_id=users.user_id
WHERE schedules.schedule_name
LIKE :search
ORDER BY schedules.schedule_name";
但是你想在术语周围有%的通配符,对吗?在注入时添加它们:
$result = $stmt->execute(array('search' => '%' . $search_string . '%' ));
像你想要的那样含糊不清的标题对谷歌搜索者来说很麻烦,他们必须筛选与搜索内容无关的问题。好吧,下次我会记住的。这与下次无关。这是关于找到你问题的答案。当前一个。好的,你也可以这样做: