Bug #12895 Updated: mysql_fetch_row
| From: | lampa at brutus dot troja dot mff dot cuni dot cz | Date: | Wed, 29 Aug 2001 16:28:50 +0000 |
| Subject: | Bug #12895 Updated: mysql_fetch_row | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-64644@lists.php.net to get a copy of this message | ||
ID: 12895
User updated by: lampa@brutus.troja.mff.cuni.cz
Reported By: lampa@brutus.troja.mff.cuni.cz
Status: Open
Bug Type: Feature/Change Request
Operating System: Debian 2.2
PHP Version: 4.0.6
New Comment:
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>
Previous Comments:
------------------------------------------------------------------------
[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