Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL使用LIKE、通配符和前导零进行选择_Php_Mysql_Select_Search_Sql Like - Fatal编程技术网

Php MySQL使用LIKE、通配符和前导零进行选择

Php MySQL使用LIKE、通配符和前导零进行选择,php,mysql,select,search,sql-like,Php,Mysql,Select,Search,Sql Like,我有一个奇怪的问题。我正在为公司内部应用程序编写一个控制面板,该应用程序在后端使用MySQL数据库 我现在有这样一种说法: SELECT * FROM users WHERE ldap_user LIKE '%--Searchterm--%' OR Firstname LIKE '%--Searchterm--%' OR Lastname LIKE '%--Searchterm--%' OR id LIKE '%--Searchterm--%'; 其中--Searchterm--“是我通过PH

我有一个奇怪的问题。我正在为公司内部应用程序编写一个控制面板,该应用程序在后端使用MySQL数据库

我现在有这样一种说法:

SELECT * FROM users WHERE ldap_user LIKE '%--Searchterm--%' OR Firstname LIKE '%--Searchterm--%' OR Lastname LIKE '%--Searchterm--%' OR id LIKE '%--Searchterm--%';
其中--Searchterm--“是我通过PHP提供的。现在,我希望能够移交一个带有前导零的searchterm,并且仍然能够将其与未添加的ID相匹配

我知道,我可以用PHP去掉零,但如果可能的话,我想要一个纯MySQL解决方案

我不知道要查找什么,因为在“搜索”除id以外的其他字段时,我找到的所有内容都不针对Select查询

如果可能的话,我更喜欢一个查询,它不使用一些野生连接,而是使用纯MySQL。

谢谢@Mattt

解决办法是使用

[...] OR id LIKE TRIM(LEADING '0' FROM '--Searchterm--');
->掌纹

我没有想过修剪,也不知道,你可以简单地用这种方式


再次感谢

不太明白,您的意思是当查询搜索数据时,返回的数据应该不含零?您能在数据库中显示一些示例数据和用于搜索的示例输入吗?searchterm是否总是数字?如果没有,那么您就不能使用
的简单技巧,其中。。。像CONCAT(“%”,searchterm+0,“%”)
,因为这会弄乱您传入的任何实际搜索字符串。您的意思是搜索反向变量,如:“--searchterm--0000000”LIKE ldap_user”和ldap_user的值为“%--searchterm--%”?@Mattt:谢谢,这就是我要找的!