我正在嘗試在 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 關注
- 102 瀏覽
添加回答
舉報
0/150
提交
取消