Bug #12895 Updated: mysql_fetch_row
| From: | georg@php.net | Date: | Mon, 22 Jul 2002 06:56:40 +0000 |
| Subject: | Bug #12895 Updated: mysql_fetch_row | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-14766@lists.php.net to get a copy of this message | ||
ID: 12895
Updated by: georg@php.net
Reported By: lampa@brutus.troja.mff.cuni.cz
-Status: Open
+Status: Closed
Bug Type: Feature/Change Request
Operating System: Debian 2.2
PHP Version: 4.0.6
New Comment:
This problem is fixed since Version 4.1.0
Previous Comments:
------------------------------------------------------------------------
[2001-08-29 12:28:50] lampa@brutus.troja.mff.cuni.cz
for avoid a misunderstanding here is example, which shows this bug:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>mysql_fetch_array</title>
<meta name="generator" content="Handmade by Lampa">
</head>
<body>
<?
if (!($linkid = @mysql_connect("localhost"))) {
echo "Connecting failed<br>";
exit();
} else {
echo "Connecting to db ok<br>";
}
@mysql_select_db("test");
mysql_query("DROP TABLE test_lampa", $linkid);
if (!(@mysql_query("CREATE TABLE test_lampa (id INT NOT NULL
AUTO_INCREMENT PRIMARY KEY, txt VARCHAR(100), nr INT NULL)", $linkid)))
{
echo "Create failed<br>";
exit();
} else {
echo "CREATE ok...<br>";
}
if (!(@mysql_query("INSERT INTO test_lampa VALUES(NULL, 'text',
NULL)", $linkid))) {
echo "INSERT failed<br>";
exit();
} else {
echo "INSERT ok...<br>";
}
if (!($result = @mysql_query("SELECT * FROM test_lampa", $linkid)))
{
echo "SELECT failed<br>";
exit();
} else {
echo "SELECT ok...<br>";
}
$line = mysql_fetch_array($result, MYSQL_BOTH);
print_r($line);
echo "<hr>You should see 6 values, 'coz there are 3 fields in db,but
you see only 5 ---<b>BUG</b><br><br>";
if (!(@mysql_query("INSERT INTO test_lampa VALUES(NULL, 'text', 1)",
$linkid))) {
echo "INSERT failed<br>";
exit();
} else {
echo "INSERT ok...<br>";
}
if (!($result = @mysql_query("SELECT * FROM test_lampa", $linkid)))
{
echo "SELECT failed<br>";
exit();
} else {
echo "SELECT ok...<br>";
}
$line = mysql_fetch_array($result, MYSQL_BOTH);
$line = mysql_fetch_array($result, MYSQL_BOTH); // get 2nd value
print_r($line);
echo "<hr>Here are really 6 values.";
mysql_close($linkid);
?>
</body>
</html>
------------------------------------------------------------------------
[2001-08-29 11:15:51] cynic@php.net
assuming you meant you missed nl => null, and the dump should've ended
with [2] => null instead of [2] => 2, this is a 'feature', and you're
not the only one questioning this behavior. changing to change request.
I hope Zeev notices this, and finally allows this change in. :)
------------------------------------------------------------------------
[2001-08-29 07:48:10] lampa@brutus.troja.mff.cuni.cz
ohh sorry, should be mysql_fetch_array, sorry for mistake
------------------------------------------------------------------------
[2001-08-28 04:40:10] sander@php.net
mysql_fetch_row does NOT return an associative array. Use
mysql_fetch_array or mysql_fetch_assoc instead.
------------------------------------------------------------------------
[2001-08-22 09:49:07] lampa@brutus.troja.mff.cuni.cz
when i call mysql_fetch_row($result, MYSQL_BOTH) a should got associte
array, but don't.
if there are some fields with NULL only number is shown not name of
field
-------------
Example:
fields in db: id, t1, n1
value 0, 'text', NULL
after mysql_fetch_row($result, MYSQL_BOTH), print_r returns:
Array([0] => 5 [id] => 5 [1] => 'text' [t1] => 'text' [2] => 2)
there is missing n1 => 2
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=12895&edit=1