我使用的是Sympel插件和MySQL数据库。为了得到我的结果,我将查询传递给Propel连接并调用executeQuery()。获取ResultSet列名
我试图检索我的ResultSet的列名称,当我的查询提取没有结果。当它有结果时,我所要做的就是获取数组键名称。当我没有结果时,getRow()返回false,所以我不能拉任何数组键。
我的查询由多个具有各种列名别名的表组成。
是否有任何其他方式来获得列名称,同时仍然使用Propel对象?
我使用的是Sympel插件和MySQL数据库。为了得到我的结果,我将查询传递给Propel连接并调用executeQuery()。获取ResultSet列名
我试图检索我的ResultSet的列名称,当我的查询提取没有结果。当它有结果时,我所要做的就是获取数组键名称。当我没有结果时,getRow()返回false,所以我不能拉任何数组键。
我的查询由多个具有各种列名别名的表组成。
是否有任何其他方式来获得列名称,同时仍然使用Propel对象?
MySQL的克里奥尔语驱动程序使用“经典”MySQL函数,您也可以这样做。通过mysql_fetch_field()
,即使没有返回行,您也可以获取有关特定字段的信息。您只需要传递正确的结果资源,然后通过ResultSet
的getResource()
方法获得该资源。
SHOW COLUMNS FROM `table_name`;
不幸的是,我不是简单地处理一个表上的查询。查询由多个表格连接在一起,并使用别名的各个列组成。我将通过此澄清来编辑操作。 – clang1234 2011-01-24 18:03:28
如果它是具体的表,那么你就可以,因为它是上面说的做(SHOW COLUMNS FROM table_name
)。
但是,如果你有一个复杂的查询,一个解决方案可能是使用正则表达式解析字符串。
这正是我需要的。非常感谢。这与mysql_fetch_fields和for循环的组合给了我需要的一切。 – clang1234 2011-01-25 19:49:52