【发布时间】:2021-03-30 17:49:06
【问题描述】:
如果搜索vienna university,我的脚本会在某些MySQL 列中查找vienna 和university。
现在,我想通过以下方式对其进行修改:如果查询包含多个以引号开头和结尾的单词(例如"vienna university"),脚本不应分隔单词,而是搜索完全匹配的vienna university 在数据库中。
如果查询是Meyer "vienna university",脚本应该在MySQL表中搜索Meyer和vienna university的存在。
您知道如何实现吗?
到目前为止我的代码:
<?php
$search_keyword = $_GET['query'];
//multiple keywords
$search_keyword = preg_split('/[\s]+/', $search_keyword);
$totalKeywords = count($search_keyword);
$sql = "SELECT * FROM `editors`
WHERE CONCAT_WS(`journal`, `editor`, `affiliation`)
LIKE ?";
//...for multiple keywords
for($i=1 ; $i < $totalKeywords; $i++){
$sql .= " AND CONCAT_WS(`journal`, `editor`, `affiliation`)
LIKE ?";
}
?>
【问题讨论】:
标签: php mysql regex search pdo