Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.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
用于查询sql的PHP字符串匹配代码_Php_Sql_Regex - Fatal编程技术网

用于查询sql的PHP字符串匹配代码

用于查询sql的PHP字符串匹配代码,php,sql,regex,Php,Sql,Regex,我试图编写一个PHP代码来查询以下值 考虑像“$string”这样的表达式名称,其中 i、 e.ABC应该是字符串的开头,不应该在任何字符之间 [编辑]: 我尝试了一些通配符,比如 where $name like \"%$string%\" or like \"%string %\" 但是它不起作用。因为我对PHP和正则表达式还不熟悉,你能帮我想出一个解决方案吗 你试过了吗 /(^|\s)ABC/ 我们检查是否有“字符串开头”(^)或空格(\s)后跟ABC 编辑 借用@rodneyrehm

我试图编写一个PHP代码来查询以下值

考虑像“$string”这样的表达式名称,其中

i、 e.ABC应该是字符串的开头,不应该在任何字符之间

[编辑]: 我尝试了一些通配符,比如

where $name like \"%$string%\" or like \"%string %\"
但是它不起作用。因为我对PHP和正则表达式还不熟悉,你能帮我想出一个解决方案吗

你试过了吗

/(^|\s)ABC/
我们检查是否有“字符串开头”(^)或空格(\s)后跟ABC

编辑

借用@rodneyrehm,您可能在寻找SQL,而不是PHP正则表达式-在本例中,您需要

... WHERE name RLIKE '(^|\\s)ABC'
或者没有正则表达式

... WHERE (name LIKE 'ABC%' OR name LIKE '% ABC%')

你是在找通配符吗

WHERE name LIKE "ABC%"

看看你是否真的需要它。

我想他只是想要
/^ABC.*/
。“ABC应该是字符串的开头”,但他也有<代码> DEF ABC-SDA/ABC是一个单词< /代码>的开始。请解释这个例子<代码> DEF ABC SDA < /Cord>这意味着“ABC”可以在中间,ABC可以在中间。
WHERE name LIKE "ABC%"