ID:               46437
 Updated by:       [EMAIL PROTECTED]
 Reported By:      hostmaster at uuism dot net
-Status:           Open
+Status:           Assigned
 Bug Type:         MySQL related
 Operating System: Fedora Core 4
-PHP Version:      5.2.6
+PHP Version:      5.2CVS-2008-10-31
-Assigned To:      
+Assigned To:      mysql


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

[2008-11-01 03:30:17] hostmaster at uuism dot net

I compiled php5.2-200810312330 and ran test script
ext/mysqli/tests/bug38710.phpt with the same results.

The resulting $text does not match str_repeat('a', 8191) for MySQL
version 40120.  The length of $text is 100000.  It consists of groups of
8240 a's with mostly non-printing characters between each group.

The non-printing characters always seem to start with zeros (^@), so if
you could truncate $text before the first binary zero, it would match
str_repeat('a', 8240) 

Thanks for looking into this problem.

Jim

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

[2008-10-31 17:50:58] hostmaster at uuism dot net

Description:
------------
When I run ext/mysqli/tests/bug38710.phpt with PHP 5.2.6 and MySQL
4.1.20, the scripts fails in a manner not anticipated by the test
script.

The $text consists of 8240 a's followed by a string of non-printable
characters (cat -v shows "[EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL 
PROTECTED]@^M
[EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL 
PROTECTED]@^@"), followed
by more a's with the non-printable characters repeated every 8000 a's or
so.

The string $text is not equal to str_repeat('a', 8191) for
mysqli_get_server_version($db)=401020, so the ACTUAL output is:

int(100000)
Done

Thanks.

Jim

Reproduce code:
---------------
<?php
include "connect.inc";

$db = new mysqli($host, $user, $passwd, "test");
$qry=$db->stmt_init();
$qry->prepare("SELECT REPEAT('a',100000)");
$qry->execute();
$qry->bind_result($text);
$qry->fetch();
if ($text !== str_repeat('a', mysqli_get_server_version($db) > 50110?
100000:(mysqli_get_server_version($db)>=50000? 8193:8191))) {
        var_dump(strlen($text));
}
echo "Done";
?>


Expected result:
----------------
It should pass since this is expected behavior for MySQL prior to
version 5.1

Actual result:
--------------
It failed


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


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

Reply via email to