johannes Wed Feb 18 16:33:28 2009 UTC
Added files:
/php-src/ext/mysql/tests bug47438.phpt
Modified files:
/php-src/ext/mysql php_mysql.c
Log:
Fix #47438 mysql_fetch_field ignores zero offse
http://cvs.php.net/viewvc.cgi/php-src/ext/mysql/php_mysql.c?r1=1.272&r2=1.273&diff_format=u
Index: php-src/ext/mysql/php_mysql.c
diff -u php-src/ext/mysql/php_mysql.c:1.272 php-src/ext/mysql/php_mysql.c:1.273
--- php-src/ext/mysql/php_mysql.c:1.272 Wed Dec 31 11:12:32 2008
+++ php-src/ext/mysql/php_mysql.c Wed Feb 18 16:33:28 2009
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_mysql.c,v 1.272 2008/12/31 11:12:32 sebastian Exp $ */
+/* $Id: php_mysql.c,v 1.273 2009/02/18 16:33:28 johannes Exp $ */
/* TODO:
*
@@ -2379,7 +2379,7 @@
ZEND_FETCH_RESOURCE(mysql_result, MYSQL_RES *, &result, -1, "MySQL
result", le_result);
- if (field) {
+ if (ZEND_NUM_ARGS() > 1) {
if (field<0 || field>=(int)mysql_num_fields(mysql_result)) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Bad field
offset");
RETURN_FALSE;
http://cvs.php.net/viewvc.cgi/php-src/ext/mysql/tests/bug47438.phpt?view=markup&rev=1.1
Index: php-src/ext/mysql/tests/bug47438.phpt
+++ php-src/ext/mysql/tests/bug47438.phpt
--TEST--
Bug #47438 mysql_fetch_field ignores zero offset
--SKIPIF--
<?php
require_once('skipif.inc');
require_once('skipifconnectfailure.inc');
?>
--FILE--
<?php
require_once('connect.inc');
if (!$link = my_mysql_connect($host, $user, $passwd, $db, $port, $socket))
printf("[001] Cannot connect to the server using host=%s, user=%s,
passwd=***, dbname=%s, port=%s, socket=%s\n",
$host, $user, $db, $port, $socket);
mysql_connect("localhost", "root", "");
mysql_select_db("test");
mysql_query("DROP TABLE IF EXISTS test_47438");
mysql_query("CREATE TABLE test_47438 (a INT, b INT, c INT)");
mysql_query("INSERT INTO test_47438 VALUES (10, 11, 12), (20, 21, 22)");
$result = mysql_query("SELECT * FROM test_47438");
mysql_field_seek($result, 1);
$i = 0;
while($i<mysql_num_fields($result))
{
$meta=mysql_fetch_field($result,$i);
echo $i . "." . $meta->name . "\n";
$i++;
}
mysql_query("DROP TABLE IF EXISTS test_47438");
?>
--EXPECT--
0.a
1.b
2.c
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php