#44076 [Opn->Asn]: mysql_result returns nothing with blob

From: Date: Fri, 28 Aug 2009 09:42:25 +0000
Subject: #44076 [Opn->Asn]: mysql_result returns nothing with blob
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-141652@lists.php.net to get a copy of this message
 ID:               44076
 Updated by:       andrey@php.net
 Reported By:      jeff76 at operamail dot com
-Status:           Open
+Status:           Assigned
 Bug Type:         MySQL related
 Operating System: FreeBSD
 PHP Version:      6CVS-2008-02-08 (snap)
-Assigned To:      
+Assigned To:      mysql


Previous Comments:
------------------------------------------------------------------------

[2008-03-25 19:22:17] andrey@php.net

Yes, this issue is known, it only manifests when unicode.semantics=one
Here is an excerpt from the sources :


/* XXX: What about unicode type ??? Please test :) */
switch(Z_TYPE_PP(field)) {
	case IS_STRING: {

It has been tested, as you also did, and it doesn't work. The code
should be ported to PHP6 Unicode but how to do it is out of my area of
expertise of working with Unicode+Zend :(

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

[2008-02-14 13:21:17] jeff76 at operamail dot com

I did further testing, it seems the bugs shows up or not depending on
the blob field content itself :
- it works fine if the content is text (tried with both short strings
as well as 100 Kb+ ISO-8859-1 text files)
- it doesn't work with raw binary content (such as a JPEG file, however
short or long)

Also this is using MySQL 4.1 and InnoDB tables.

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

[2008-02-12 21:13:52] felipe@php.net

Works fine to me.
PHP 6.0.0-dev (cli) (built: Feb 12 2008 18:56:58)

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

[2008-02-08 08:12:57] jeff76 at operamail dot com

Description:
------------
It seems using mysql_result to retrieve a blob doesn't work and returns
nothing (NULL). Using a different function like mysql_fetch_assoc
however does work properly, as does reverting to PHP 5 or retrieving a
non-blob column.

This is using Unicode semantics.

Reproduce code:
---------------
(...connect to DB)

$res=mysql_query('SELECT blob_column FROM table WHERE condition');
$var=mysql_result($res, 0);
print_r($var);
echo(gettype($var));


Expected result:
----------------
(random binary garbage) and a proper variable type (unicode or binary
?)


Actual result:
--------------
gettype returns NULL, and print_r echoes nothing.


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


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



Thread (6 messages)

« previous php.bugs (#141652) next »