#10268 [Com]: mysql_fetch_array() dropping non-NULL column name
| From: | leather-blow1636 at hotmail dot com | Date: | Tue, 20 Jul 2004 15:00:29 +0000 |
| Subject: | #10268 [Com]: mysql_fetch_array() dropping non-NULL column name | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-62777@lists.php.net to get a copy of this message | ||
ID: 10268
Comment by: leather-blow1636 at hotmail dot com
Reported By: clewis at myfonts dot com
Status: Bogus
Bug Type: MySQL related
Operating System: RedHat 6.1
PHP Version: 4.0.4pl1
New Comment:
<a href=http://quallity-boldleathe.da.ru>blow
leather</a>
Previous Comments:
------------------------------------------------------------------------
[2001-06-27 09:56:22] sniper@php.net
This is better as bogus.
------------------------------------------------------------------------
[2001-06-27 02:55:50] derick@php.net
User error, so closing.
------------------------------------------------------------------------
[2001-06-26 12:11:25] clewis at myfonts dot com
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!
------------------------------------------------------------------------
[2001-04-10 13:34:47] clewis at myfonts dot com
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) {
[0]=>
string(2) "10"
["PromotionID"]=>
string(2) "10"
[1]=>
string(20) "Free font with order"
["Name"]=>
string(20) "Free font with order"
...etc...
[7]=>
string(2) "10"
[8]=>
string(4) "0.01"
["X"]=>
string(4) "0.01"
...etc...
}
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 this bug report at http://bugs.php.net/?id=10268&edit=1