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