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