Хочется сделать пагинатор для бедных, но при этом не особо запариваться с парсингом SQL
Конечно работает для пары очевидных случаев, но понятное дело что только до поры-до времени
главная проблема, конечно - это from в строковых литералах
можно это как-то улучшить? или нафиг забить?
Код:
$test = [
'SELECT id FROM table WHERE 1',
'SELECT name, (SELECT price, (SELECT 1+1) FROM table2) var FROM table1',
'SELeCT FROMAGE FrOM table join orders_from on to=`from`'
];
$pat = '~^(select)(.*)(\s+from\s+)~i';
foreach ($test as $sql) {
preg_match($pat, $sql, $m);
var_dump(preg_replace($pat, '$1 count(*)$3', $sql));
}
главная проблема, конечно - это from в строковых литералах
можно это как-то улучшить? или нафиг забить?