获取ResultSet列名称

时间:2011-01-24 17:26:06

标签: php mysql symfony1 propel creole

我正在使用带有Propel插件和MySQL数据库的Symfony 1.1。为了得到我的结果,我将查询传递给Propel连接并调用executeQuery()。

当我的查询没有获取任何结果时,我正在尝试检索ResultSet的列名。当它有结果时,我所要做的就是获取数组键名。当我没有结果时getRow()返回false,所以我不能拉任何数组键。

我的查询包含多个具有各种列名称别名的表。

在使用Propel对象的同时还有其他方法可以获取列名吗?

3 个答案:

答案 0 :(得分:2)

MySQL的Creole驱动程序使用“经典”MySQL函数,你也可以这样做。使用mysql_fetch_field(),即使没有返回任何行,您也可以获取有关特定字段的信息。您只需传递正确的结果资源,即可通过getResource()的{​​{1}}方法获取该资源。

答案 1 :(得分:1)

SHOW COLUMNS FROM `table_name`;

答案 2 :(得分:0)

如果它是具体表格,那么你可以按照上面的说法进行操作(显示来自table_name的字符串;)。

但是如果你有一个复杂的查询,一个解决方案可能是使用正则表达式解析字符串。