Bug #52302 [Asn]: mysqli_fetch_all does not work with MYSQLI_USE_RESULT

From: Date: Thu, 05 Aug 2010 12:11:27 +0000
Subject: Bug #52302 [Asn]: mysqli_fetch_all does not work with MYSQLI_USE_RESULT
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-153115@lists.php.net to get a copy of this message
Edit report at http://bugs.php.net/bug.php?id=52302&edit=1

 ID:                 52302
 Updated by:         johannes@php.net
 Reported by:        brianlmoon@php.net
 Summary:            mysqli_fetch_all does not work with
                     MYSQLI_USE_RESULT
 Status:             Assigned
 Type:               Bug
 Package:            MySQLi related
 Operating System:   Linux
 PHP Version:        5.3.2
 Assigned To:        mysql
 Block user comment: N

 New Comment:

The key point here is that the stored buffer can directly be used for
fetch_all. The fetch_all does nothing but increasing the ref counts on
the buffered values and adding them to an array. doing this with
USE_RESULT would do an implicit STORE_RESULT.

Marking this a Feature request.


Previous Comments:
------------------------------------------------------------------------
[2010-07-16 17:42:59] brianlmoon@php.net

No, it makes perfect sense. In fact, it should be the preferred way to
use fetch_all. Why store the data only to dump it into a PHP array on
the next line? That is a very inefficient use of memory and plain
careless development.

Or do you mean to say that fetch_all is fundamentally broken and will
only work with STORE_RESULT?

------------------------------------------------------------------------
[2010-07-13 10:36:22] andrey@php.net

Makes no sense to use USE_RESULT and buffer the result. Use
STORE_RESULT, it is more effective for fetch_all(). Artifically limited.

------------------------------------------------------------------------
[2010-07-12 18:16:35] brad at njoe dot com

Confirmed on Windows build as well using: PHP 5.3.2 (cli) (built: Mar  3
2010 
19:40:13).

Even SELECT'ing a static string (e.g. SELECT 'This is a test.') exhibits
this 
behavior.

------------------------------------------------------------------------
[2010-07-10 10:39:32] brianlmoon@php.net

Description:
------------
When using MYSQLI_USE_RESULT as the second parameter to mysqli_query,
fetch_all returns null.

Test script:
---------------
<?php

$m = new MySQLi("", "root", "", "information_schema");

$sql = "show tables";

$res = $m->query($sql, MYSQLI_USE_RESULT);

$rows = $res->fetch_all();

var_dump($rows);

?>

Expected result:
----------------
An array of the table data.

Actual result:
--------------
NULL


------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=52302&edit=1


Thread (9 messages)

« previous php.bugs (#153115) next »