ID: 10268
User Update by: [EMAIL PROTECTED]
Status: Open
Bug Type: MySQL related
Operating system: RedHat 6.1
PHP Version: 4.0.4pl1
Description: mysql_fetch_array() dropping non-NULL column name

Solved.  This was happening due to a truly inspired problem with my own code...  The 
element was being unset deep in a separate function.  Sorry to bother you!

Previous Comments:

[2001-04-10 13:34:47] [EMAIL PROTECTED]
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.


Full Bug description available 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