From:             [EMAIL PROTECTED]
Operating system: RedHat 6.1
PHP version:      4.0.4pl1
PHP Bug Type:     MySQL related
Bug description:  mysql_fetch_array() dropping non-NULL column name

mysql_fetch_array with MYSQL_BOTH or MYSQL_ASSOC is returning one of the columns in 
the query ONLY as a numeric index, but not the named index.  The column is a NOT NULL 
column, so the value is always defined.

I have a feeling the problem has something to do with the fact that the "missing" 
column is the column joining two tables.  Here's the SQL:

select distinct p.*,pt.Formula 
from Promotions p, PromoTypes pt 
where p.PromoTypeID = pt.PromoTypeID 

Here's some of the result of mysql_fetch_array:

array(31) {
  string(2) "10"
  string(2) "10"
  string(20) "Free font with order"
  string(20) "Free font with order"

  string(2) "10"
  string(4) "0.01"
  string(4) "0.01"


Array index 7 should be followed by the key "PromoTypeID".  The same thing happens 
using MYSQL_ASSOC (the element is missing altogther), and also if I specify 
p.PromoTypeID explicitly in the query.

The problem IS SOLVED if I alias the column name to something else using 
"p.PromoTypeID AS FakeName" , which makes me think even more that it's being confused 
by the table joining.

Edit Bug report at:

PHP Development Mailing List <>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to