Получение имен столбцов ResultSet
Я использую Symfony 1.1 с плагином Propel и базой данных MySQL. Чтобы получить результаты, я передаю запрос в соединение Propel и вызываю executeQuery().
Я пытаюсь получить имена столбцов моего ResultSet, когда мой запрос не дает результатов. Когда он дает результаты, все, что мне нужно сделать, это взять имена ключей массива. Когда у меня нет результатов, getRow() возвращает false, поэтому я не могу вытащить ключи массива.
Мой запрос состоит из нескольких таблиц с разными именами столбцов.
Есть ли другой способ получить имена столбцов при использовании объекта Propel?
3 ответа
Драйверы Creole для MySQL используют "классические" функции MySQL, и вы тоже можете это сделать. С mysql_fetch_field()
Вы можете получить информацию о конкретном поле, даже если строки не были возвращены. Вам нужно только передать правильный ресурс результата, и вы можете получить его через getResource()
метод вашего ResultSet
,
Если это конкретный стол, то вы можете сделать, как сказано выше (ПОКАЗАТЬ КОЛОННЫ ИЗ table_name
;).
Но если у вас сложный запрос, единственным решением может быть анализ строки с помощью регулярного выражения.