Получение имен столбцов ResultSet - PullRequest
2 голосов
/ 24 января 2011

Я использую Symfony 1.1 с плагином Propel и базой данных MySQL.Чтобы получить результаты, я передаю запрос в соединение Propel и вызываю executeQuery ().

Я пытаюсь получить имена столбцов моего ResultSet, когда мой запрос не приводит к результатам.Когда он дает результаты, все, что мне нужно сделать, это взять имена ключей массива.Когда у меня нет результатов, getRow () возвращает false, поэтому я не могу получить какие-либо ключи массива.

Мой запрос состоит из нескольких таблиц с разными именами столбцов.

Есть ли другой способ получить имена столбцов при использовании объекта Propel?

Ответы [ 3 ]

2 голосов
/ 25 января 2011

Драйверы Creole для MySQL используют «классические» функции MySQL, и вы можете сделать это тоже.С mysql_fetch_field() вы можете получить информацию о конкретном поле, даже если строки не были возвращены.Вам нужно только передать правильный ресурс результата, и вы можете получить его с помощью метода getResource() вашего ResultSet.

1 голос
/ 24 января 2011
SHOW COLUMNS FROM `table_name`;
0 голосов
/ 24 января 2011

Если это конкретная таблица, то вы можете сделать, как сказано выше (ПОКАЗАТЬ КОЛОННЫ ОТ table_name;).

Но если у вас сложный запрос, одним из решений может быть синтаксический анализстрока с использованием регулярного выражения.

...