Это больше для анализа запроса в PHP ДО того, как он будет отправлен на сервер.Очень сложно, почему я это делаю, поэтому я не буду вдаваться в причину этого.
В PHP мне нужно сохранить выбор полей в массиве php.Возьмем для примера этот запрос:
SELECT user_id,username,DATE(join_datetime) as join_date, (SELECT COUNT(1) FROM foobar WHERE foonum IN (5,4,6) and user_id = users.user_id) as myfoo_count
FROM users
WHERE user_id = 123
Итак, в этом случае мне нужно сохранить "user_id, username, DATE (join_datetime) как join_date, (SELECT COUNT (1) FROM foobar WHERE foonum IN (5, 4,6) и user_id = users.user_id) как myfoo_count "в массив, разнесенный запятой (,).Таким образом, я получил бы:
array (
[1] => 'user_id',
[2] => 'username',
[3] => 'DATE(join_datetime) as join_date',
[4] => '(SELECT COUNT(1) FROM foobar WHERE foonum IN (5,4,6) and user_id = users.user_id) as myfoo_count'
)
Я дошел до извлечения части поля запроса, но застрял при попытке взорвать поля через запятую.Основная проблема связана с подзапросами, в которых тоже могут быть запятые (см. Пример).
Спасибо за любую помощь!