我使用的是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