Edit report at https://bugs.php.net/bug.php?id=80374&edit=1
ID: 80374
Updated by: cmb@php.net
Reported by: w2kzx80 at gmail dot com
Summary: Mysqli warning Packets out of order. Expected 1
received 0
-Status: Feedback
+Status: Open
Type: Bug
Package: MySQLi related
Operating System: CentOs
PHP Version: 7.4.12
-Assigned To: cmb
+Assigned To:
Block user comment: N
Private report: N
New Comment:
Okay, so apparently your comment was a "typo". Anyhow, this bug
report doesn't appear to be actionable, unless you can provide
further information.
Previous Comments:
------------------------------------------------------------------------
[2021-08-09 13:24:25] w2kzx80 at gmail dot com
How can i know if it is bug of MariaDB or php?
I didnt develop nor php nor mysql - i just reported which is issue - i guess its something with
bytes in compression algorythm between php and mariadb but how can i know if it is php bug or
mariadb bug? Most looks like php because i used console mysql utility with same request and didnt
receive any error but I dont know how all this works - i think developers of php language must know
isnt it?..
------------------------------------------------------------------------
[2021-08-09 11:02:20] cmb@php.net
> But i cant wait till it will be fixed in mysql server so...
So is this a bug in MariaDB? Is there a related bug report?
------------------------------------------------------------------------
[2021-07-19 13:47:26] w2kzx80 at gmail dot com
Thats my "solution" in php - but OF COURSE - it is bad solution. But i cant wait till it
will be fixed in mysql server so... maybe it will be useful for somebody
$res = $db->query($query);
if (!$res) $res=$db->query(preg_replace('/^([ ]*[^ ]+) (.+)$/uis','$1
$2',$query));
Thats it... It adds one additional space between first word of request and next part
Like
"SELECT * FROM table" -> "SELECT * FROM table"
Unfortunately i cant detect some logical indications that some query will not be successful. Only
this method with retry...
------------------------------------------------------------------------
[2021-07-19 07:30:32] info at 4ws-netdesign dot de
We discover the same problem:
Ubuntu 18.04 - PHP 7.4.3 FPM/FastCGI
MySQL: 8.0.25-0ubuntu0.20.04.1 - (Ubuntu)
Yes it's reproducible: if you have a query producing this error you can repeat as often you
want: the warning appears.
We have simple queries produding this error. By adding useless whitespaces in the query you can fix
this query - but the problem still exists at other places.
Increasing max_allowed_packet to 2G in my.cnf fixes the problem partially but it still occurs on
some places.
Scripts worked fine with PHP 7.2 before. And it's really simple queries like
SELECT * FROM tablename
producing this error (small tables => 0-10 entries)
------------------------------------------------------------------------
[2020-12-13 08:44:39] w2kzx80 at gmail dot com
guys - I wrote You enough. Didnt You read?
- Platform Linux
- MySQL =
MariaDB [(none)]> STATUS;
--------------
mysql Ver 15.1 Distrib 5.5.65-MariaDB, for Linux (x86_64) using readline 5.1
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server: MariaDB
Server version: 5.5.65-MariaDB MariaDB Server
Protocol version: 10
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
Conn. characterset: utf8
TCP port: 3306
- i use mysqli library. Phpinfo shows mysqli
Client API library version mysqlnd 5.0.12-dev - 20150407 - $Id:
b5c5906d452ec590732a93b051f3827e02749b83 $
Compression supported
Command buffer size 4096
Read buffer size 32768
Read timeout 31536000
Collecting statistics Yes
Collecting memory statistics No
Tracing n/a
Loaded
plugins mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_sha256_password
API Extensions mysqli,pdo_mysql
- Which connection method was used = TCP/IP
- Your table schema. (SHOW CREATE TABLE tbl_name) including charset used for connection and table
storage.
CREATE TABLE labels_auto (
id int(10) unsigned NOT NULL AUTO_INCREMENT,
label_id int(11) DEFAULT NULL,
atype char(1) DEFAULT NULL,
did varchar(20) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8"
- The character encoding of your file. Are you using UTF-8?
Yes
- Are you using utf8mb4 charset? Did you set the charset via set_charset() method?
yes i used utf8 in set_charset
- HEX dump of the query string producing the error. (There could be a hidden character there)
I dont understand what You want from me...
this query returns
HEX("SELECT * FROM voipe_481.labels_auto")
53454C454354202A2046524F4D2060766F6970655F343831602E606C6162656C735F6175746F60
- HEX dump of the sample data causing the error.
I dont understand.. query doesnt execute - something happen while query is compressed and sent to
server and server doesnt recognize it
- Self contained reproducible example. http://sscce.org/ should help
you make such an example.
Sorry - i dont have time for it
I get You all the info
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=80374
--
Edit this bug report at https://bugs.php.net/bug.php?id=80374&edit=1