Re: [PHP-DB] PDO include table name prefixes in FETCH_ASSOC
Thanks for the advise. I wanted a more automatic method of prefixing column names, but I ended up just aliasing them all. I know I could always just issue multiple SELECTs, but I wish MySQL would support this sort of functionality natively. I'd really like to reference my results as $result["table0"]["column0"] from a single SELECT. Anyways, thanks all. --Aaron On 3/24/2010 11:28 AM, Niel Archer wrote: Many of my MySQL tables have columns with the same name. I want to have PDO include table names in named result sets. For example: $sth = $dbh->prepare("SELECT * FROM table0, table1"); $result = $sth->fetchAll(PDO::FETCH_ASSOC); I want $result to be organized like: echo $result["table0.column0"]; echo $result["table0.column1"]; echo $result["table1.column0"]; echo $result["table1.column1"]; Or, alternatively: echo $result["table0"]["column0"]; echo $result["table0"]["column1"]; echo $result["table1"]["column0"]; echo $result["table1"]["column1"]; Any ideas? Thanks! Sounds like you want to UNION two SELECTs http://dev.mysql.com/doc/refman/5.0/en/union.html (SELECT col1, col2, col4 FROM table1 WHERE ... ORDER BY ...) UNION (SELECT col1, col2, col4 FROM table2 WHERE ... ORDER BY ...) --Aaron -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- Niel Archer niel.archer (at) blueyonder.co.uk -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] PDO include table name prefixes in FETCH_ASSOC
On 24 March 2010 16:05, Aaron Paetznick wrote: > Many of my MySQL tables have columns with the same name. I want to have PDO > include table names in named result sets. For example: > > $sth = $dbh->prepare("SELECT * FROM table0, table1"); > $result = $sth->fetchAll(PDO::FETCH_ASSOC); > > > I want $result to be organized like: > > echo $result["table0.column0"]; > echo $result["table0.column1"]; > echo $result["table1.column0"]; > echo $result["table1.column1"]; > > > Or, alternatively: > > echo $result["table0"]["column0"]; > echo $result["table0"]["column1"]; > echo $result["table1"]["column0"]; > echo $result["table1"]["column1"]; > > > Any ideas? Thanks! > > > --Aaron > > > -- > PHP Database Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > The data coming from the server dictates the column names, not PDO. If you need to identify the names, then use aliases in the SQL. -- - Richard Quadling "Standing on the shoulders of some very clever giants!" EE : http://www.experts-exchange.com/M_248814.html EE4Free : http://www.experts-exchange.com/becomeAnExpert.jsp Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731 ZOPA : http://uk.zopa.com/member/RQuadling -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] PDO include table name prefixes in FETCH_ASSOC
> Many of my MySQL tables have columns with the same name. I want to have > PDO include table names in named result sets. For example: > >$sth = $dbh->prepare("SELECT * FROM table0, table1"); >$result = $sth->fetchAll(PDO::FETCH_ASSOC); > > > I want $result to be organized like: > >echo $result["table0.column0"]; >echo $result["table0.column1"]; >echo $result["table1.column0"]; >echo $result["table1.column1"]; > > > Or, alternatively: > >echo $result["table0"]["column0"]; >echo $result["table0"]["column1"]; >echo $result["table1"]["column0"]; >echo $result["table1"]["column1"]; > > > Any ideas? Thanks! Sounds like you want to UNION two SELECTs http://dev.mysql.com/doc/refman/5.0/en/union.html (SELECT col1, col2, col4 FROM table1 WHERE ... ORDER BY ...) UNION (SELECT col1, col2, col4 FROM table2 WHERE ... ORDER BY ...) > --Aaron > > > -- > PHP Database Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php -- Niel Archer niel.archer (at) blueyonder.co.uk -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DB] PDO include table name prefixes in FETCH_ASSOC
Many of my MySQL tables have columns with the same name. I want to have PDO include table names in named result sets. For example: $sth = $dbh->prepare("SELECT * FROM table0, table1"); $result = $sth->fetchAll(PDO::FETCH_ASSOC); I want $result to be organized like: echo $result["table0.column0"]; echo $result["table0.column1"]; echo $result["table1.column0"]; echo $result["table1.column1"]; Or, alternatively: echo $result["table0"]["column0"]; echo $result["table0"]["column1"]; echo $result["table1"]["column0"]; echo $result["table1"]["column1"]; Any ideas? Thanks! --Aaron -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php