Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.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查询:使用正则表达式拆分为多个部分_Php_Mysql_Regex - Fatal编程技术网

PHP MySql查询:使用正则表达式拆分为多个部分

PHP MySql查询:使用正则表达式拆分为多个部分,php,mysql,regex,Php,Mysql,Regex,我有: SELECT col1, col2, col3 FROM mytable WHERE col1 = :col1 或者我有: SELECT col1, col2, col3 FROM mytable WHERE col1 = :col1 ORDER BY col2 LIMIT 0, 25 SELECT col1, col2, col3 FROM mytable GROUP BY col1 或者我有: SELECT col1, col2, col3 FROM mytable WHE

我有:

SELECT col1, col2, col3
FROM mytable
WHERE col1 = :col1
或者我有:

SELECT col1, col2, col3
FROM mytable
WHERE col1 = :col1 
ORDER BY col2 
LIMIT 0, 25
SELECT col1, col2, col3
FROM mytable
GROUP BY col1
或者我有:

SELECT col1, col2, col3
FROM mytable
WHERE col1 = :col1 
ORDER BY col2 
LIMIT 0, 25
SELECT col1, col2, col3
FROM mytable
GROUP BY col1
等等

如何将其拆分为第一部分选择部分、来自部分、其中部分。。。第二部分是第一部分之后的所有事情


我知道,在SQL上执行正则表达式是邪恶的。最好不要这样做。尽管如此,我还是希望看到正则表达式,它可以解决这个问题

给您一个sql字符串,您需要弄清楚它想要查询什么,或者您需要基于一个php变量动态构建查询?您基本上是在开发sql解析器。这些疑问来自哪里?如果您是自己构建的,为什么不以这样一种方式构建它们,以便您可以轻松地再次分解它们呢?烘焙蛋糕,然后在事后尝试从蛋糕中提取面粉/牛奶/鸡蛋是没有意义的。我认为这对于这个问题非常重要,如果我们知道你的最终目标是什么,Preg_match是你需要执行正则表达式的函数,请发布你尝试过的正则表达式的代码!我了解到,用正则表达式修改SQL语句不是一个好主意。现在我只想知道正确的正则表达式是什么样子,因为我还没有弄清楚:preg_match'/.+?groupby | ORDER BY | LIMIT.+?/Uis',$sql,$matches