我正在尝试在 php 中将 LIKE 与我的 sql 查询一起使用。但它仅在搜索查询完全相同时显示。这是我下面的代码。<?phpinclude 'config.php';$sql = "select name, skill, Location, phone, rating FROM searchResults WHERE skill LIKE :search OR name LIKE :search order by id desc";try { $dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $dbh->prepare($sql); // $stmt->bindParam("search", $_GET['search']); $stmt->bindValue(":search", $_GET['search'], PDO::PARAM_STR); $stmt->execute(); $employees = $stmt->fetchAll(PDO::FETCH_OBJ); $dbh = null; echo '{"items":'. json_encode($employees) .'}'; } catch(PDOException $e) { echo '{"error":{"text":'. $e->getMessage() .'}}'; }?>请帮忙
2 回答
慕后森
TA贡献1802条经验 获得超5个赞
在你的例子中,你可以简单地做
$stmt->bindValue(":search", "%" . $_GET['search'] . "%", PDO::PARAM_STR);
扬帆大鱼
TA贡献1799条经验 获得超9个赞
你需要%
在你的 MySQL 查询中加上你的搜索词。检查https://dev.mysql.com/doc/refman/8.0/en/pattern-matching.html
- 2 回答
- 0 关注
- 83 浏览
添加回答
举报
0/150
提交
取消