Re: [PHP-DB] PDO include table name prefixes in FETCH_ASSOC

2010-03-24 Thread Aaron Paetznick
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

2010-03-24 Thread Richard Quadling
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

2010-03-24 Thread Niel Archer
> 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

2010-03-24 Thread Aaron Paetznick
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