[英]Searching for a partial match in a SQL database with PHP
I have a php file that search a SQL database.我有一个搜索 SQL 数据库的 php 文件。 It takes a string from a textbox and tries to match it to various attributes for the database.
它从文本框中获取一个字符串,并尝试将其与数据库的各种属性相匹配。 Here is the code that performs the searched:
这是执行搜索的代码:
if ($filter['meta_info']) {
$search_string = $filter['meta_info'];
unset($filter['meta_info']);
$m_intSortField = null;
$m_strWhere .= (($m_strWhere) ? " AND " : "")."(MATCH (`courses`.`assigned_id`,`courses`.`title`,`courses`.`author`,`courses`.`keywords`,`courses`.` abstract`,`courses`.`objective`,`courses`.`summary`,`courses`.`copyright`,`courses`.`notes`) AGAINST ('".mysql_escape_string($search_string)."' IN BOOLEAN MODE))";
}
My problem is, I want it to return courses that have a partial match to the assigned ID not just a complete match.我的问题是,我希望它返回与分配的 ID 部分匹配的课程,而不仅仅是完全匹配。 Anyone know how I could do this?
有谁知道我怎么能做到这一点?
Turn off strict mode on your mysql options, or use LIKE.关闭 mysql 选项上的严格模式,或使用 LIKE。
SELECT id,name from LESSONS where name LIKE "English%"; SELECT id,name from LESSONS where name LIKE "English%";
returns返回
| id | Name
| 2 | English Literature
| 8 | English Language
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.