Con l'estensione mysqli per PHP, è possibile utilizzare il metodo fetch_field()
per ottenere i nomi originali (non allineati) per colonne e tabelle tramite orgname
e orgtable
nel risultato. PDO fornisce il metodo getColumnMeta()
, ma non offre informazioni sui nomi di tabella e colonna originali; restituisce solo alias.Come ottenere il nome originale della tabella/colonna quando si utilizza PDO?
Esistono alternative per ottenere queste informazioni con PDO? Ho pensato analisi delle informazioni da SQL-query, ma spero che ci sono soluzioni più bella ...
SELECT id AS col1, session AS col2 FROM sessions AS table1;
risultati utilizzando PDOStatement::getColumnMeta()
:
Array
(
[native_type] => LONG
[flags] => Array
(
[0] => not_null
[1] => primary_key
)
[table] => table1
[name] => col1
[len] => 10
[precision] => 0
[pdo_type] => 2
)
Array
(
[native_type] => VAR_STRING
[flags] => Array
(
[0] => not_null
[1] => unique_key
)
[table] => table1
[name] => col2
[len] => 32
[precision] => 0
[pdo_type] => 2
)
Secondo la documentazione, il risultato della chiamata ['PDOStatement.getColumnMeta'] (http://php.net/PDOStatement.getColumnMeta) include una colonna 'tabella' che contiene" [t] il nome di la tabella di questa colonna restituita dal database. " Non è questo ciò che hai visto in pratica? – outis
Ho aggiunto i risultati al mio post! –
Cordiali saluti !!! –