2011-01-24 63 views
2

我使用的是Sympel插件和MySQL數據庫。爲了得到我的結果,我將查詢傳遞給Propel連接並調用executeQuery()。獲取ResultSet列名

我試圖檢索我的ResultSet的列名稱,當我的查詢提取沒有結果。當它有結果時,我所要做的就是獲取數組鍵名稱。當我沒有結果時,getRow()返回false,所以我不能拉任何數組鍵。

我的查詢由多個具有各種列名別名的表組成。

是否有任何其他方式來獲得列名稱,同時仍然使用Propel對象?

回答

2

MySQL的克里奧爾語驅動程序使用「經典」MySQL函數,您也可以這樣做。通過mysql_fetch_field(),即使沒有返回行,您也可以獲取有關特定字段的信息。您只需要傳遞正確的結果資源,然後通過ResultSetgetResource()方法獲得該資源。

+0

這正是我需要的。非常感謝。這與mysql_fetch_fields和for循環的組合給了我需要的一切。 – clang1234 2011-01-25 19:49:52

1
SHOW COLUMNS FROM `table_name`; 
+0

不幸的是,我不是簡單地處理一個表上的查詢。查詢由多個表格連接在一起,並使用別名的各個列組成。我將通過此澄清來編輯操作。 – clang1234 2011-01-24 18:03:28

0

如果它是具體的表,那麼你就可以,因爲它是上面說的做(SHOW COLUMNS FROM table_name)。

但是,如果你有一個複雜的查詢,一個解決方案可能是使用正則表達式解析字符串。