ID: 45237 Updated by: [EMAIL PROTECTED] Reported By: phpbugs at phormix dot com Status: Bogus Bug Type: MySQL related Operating System: FreeBSD PHP Version: 5.2.6 New Comment:
var_dump, not vardump, sorry for that Previous Comments: ------------------------------------------------------------------------ [2008-06-11 13:40:28] [EMAIL PROTECTED] Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php you're using left joins, therefore you get NULL values. Use vardump() instead of print_r() to get the the information. ------------------------------------------------------------------------ [2008-06-11 13:34:58] phpbugs at phormix dot com Please note that the "expected" result should actually be: Array ( [0] => 22768 [userid] => 22768 [1] => 22768 [userid2] => 22768 [2] => 10 [reputation] => 10 [3] => jdoe [username] => jdoe [4] ... etc ------------------------------------------------------------------------ [2008-06-11 13:33:54] phpbugs at phormix dot com Description: ------------ mysql_fetch_assoc does not return certain values attached to their named items in the array. mysql_fetch_array shows that the numbered entries definitely have values attached to them, but for some reason these are not being attached to the appropriate names. For example, as below. The first field is "userid" array[0] returns a value array[userid] does not however, when adding code to the query "userid as userid2" array[0] returns a value array[userid] does not array[1] returns a value array[userid2] returns a value Reproduce code: --------------- $myquery = "SELECT user.userid, user.userid as userid2, reputation, username, usergroupid, birthday_search, email, parentemail,(options & 8) AS coppauser, homepage, icq, aim, yahoo, msn, skype, signature, usertitle, joindate, lastpost, posts, ipaddress, lastactivity, userfield.* FROM user LEFT JOIN userfield AS userfield ON(userfield.userid = user.userid) LEFT JOIN usertextfield AS usertextfield ON(usertextfield.userid = user.userid) WHERE 1=1 AND user.username LIKE '%jdoe%' ORDER BY username ASC LIMIT 0, 50"; $user_r = mysql_query($myquery); print_r( mysql_fetch_array($user_r) ); Expected result: ---------------- Array ( [0] => 22768 [userid] => [1] => 22768 [userid2] => 22768 [2] => 10 [reputation] => 10 [3] => jdoe [username] => jdoe [4] ... etc Actual result: -------------- Array ( [0] => 22768 [userid] => [1] => 22768 [userid2] => 22768 [2] => 10 [reputation] => 10 [3] => jdoe [username] => jdoe [4] ... etc (please note the missing userid) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=45237&edit=1