是否有可能從當前查詢中使用pdo php或postgresql中的普通sql獲取表名?如何從php或postgresql當前查詢中獲取表名
在PDO PHP存在像PDOStatement::getColumnMeta
功能,但這個功能不能很好地工作,因爲它在查詢返回別名名稱,當我使用的符號像
SELECT configuration.id AS other_name
FROM configuration.mytable AS other_table_name
INNER JOIN configuration.some_table AS other_some_table_name
ON other_table_name.id = other_some_table_name.id
回奇怪的值。我很想獲取沒有別名的表的基名。任何人都知道更好的方式來獲取實際查詢的表名稱?
更新貓王Ciotii答案
這裏是SQL:
SELECT *
FROM configuration.applications
WHERE url=:url
下面是結果
Array
(
[pgsql:oid] => 23
[native_type] => int4
[name] => id
[len] => 4
[precision] => -1
[pdo_type] => 1
)
在文檔php.net功能PDOStatement對象:: getColumnMeta()返回包含表示單個列的元數據的以下值的關聯數組:
native_type,司機:decl_type,標誌,名稱,表,LEN,精度,pdo_type
哪裏是我的結果標誌和表密鑰?
我需要這個值,因爲我是在我的小框架工作,我想實現模型類特殊returnig函數與結果執行查詢。我在想如果我不能從pdo得到這個值我不能在正常查詢中得到這個值。等SHOW TABLES或類似的東西。
像Zend_Db_Select這樣的查詢生成器會在PDO沒有提供該信息時存儲這些信息。 –
如果您的查詢涉及多個表,對於任何非平凡的查詢(聯合,聯接,子查詢等)都是如此,您希望得到什麼? –
但在查詢上面我不使用任何連接只有SELECT .... FROM configuration.application(schema.table) – ZiupeX