php - sql 查询在列中搜索我需要的特定模式的字符串

标签 php mysql sql

我创建了一个搜索栏来搜索我的查询的字符串

$q = $_GET('val');
$sqlquery=$mysqli->query("SELECT * FROM tickets_search WHERE (ticket_date LIKE 
'%".$q."%') OR (car_number LIKE '%".$q."%') order by ticket_id desc");

现在,当我搜索 HU-GG 6 时,它给了我两个结果 参见这里:

片段-1:HU-GG 6-1

当我搜索 HU-GG-6 时,它给了我另一个结果 参见这里:

片段2:HU-GG-6-2

我想要的是显示 HU-GG-6 或 HU-GG 6 的所有三个结果,无论我写什么。它应该显示所有三个结果。

最佳答案

尝试一下:您可以使用REPLACE来满足您的两个条件,但我不确定它有多大帮助,请调整REPLACE > 在 PHP 中,如果不正确:

SELECT * 
FROM tickets_search 
WHERE (ticket_date LIKE '%".$q."%') OR 
     (REPLACE(car_number, ' ', '-') LIKE REPLACE('%".$q."%', ' ', '-')) 
ORDER BY ticket_id DESC

关于php - sql 查询在列中搜索我需要的特定模式的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43992890/

相关文章:

php - 当我在 php 中尝试 Solr 时出现问题

php - SQL 删除连接 4

php - 在mysql中查询数组

PHP、MySQL : mysql substitute for php in_array function

mysql - 在 Hibernate 中将 Java byte[] 映射到 MySQL binary(64)

Mysql单表复杂问题

php 从 ftp 下载文件在本地使用 XAMPP 不起作用仅适用于 ftp 上的旧文件

sql - 搜索 thorn(字符 254)时,CHARINDEX 在某些 COLLATION 中返回错误结果

sql - 为父表中的每一行插入子表

php - 如何嵌套 2 个带有 foreach 循环的 SQL 语句