Re: [PHP-DB] PDO include table name prefixes in FETCH_ASSOC
On 24 March 2010 18:04, Aaron Paetznick aar...@critd.com wrote: 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 I use MS SQL and have used other DBs. I've never seen the table name as part of the column name in a result set on any of them. -- - 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=ZEND002498r=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
[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
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
Re: [PHP-DB] PDO include table name prefixes in FETCH_ASSOC
On 24 March 2010 16:05, Aaron Paetznick aar...@critd.com 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=ZEND002498r=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
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