Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP - MySQL PDO maximum query size

I'm using MySQL PDO in PHP to retrieve very long string (about 1-5mb) from the database. When tested on my local machine, everything worked fine. However, on my live server, when executing a select statement, the maximum string size returned is 1048576 bytes, which is exactly 1MB.

Hence, since the code is the same, this must be something in the PHP or MySQL settings. I have the follow:

php.ini

post_max_size = 20M

my.cnf

max_allowed_packet = 20M

So I assume I'm not setting the correct variables, since the limit is still at 1MB. Does anyone know what to set?

like image 461
goocreations Avatar asked Oct 14 '15 06:10

goocreations


People also ask

Is PDO faster than MySQLi?

Performance. While both PDO and MySQLi are quite fast, MySQLi performs insignificantly faster in benchmarks - ~2.5% for non-prepared statements, and ~6.5% for prepared ones. Still, the native MySQL extension is even faster than both of these.

How long can a SQL query be MySQL?

The maximum standard SQL query length is 1024.00K characters, including comments.”

Is PHP PDO secure?

As long as you provide all values per ->execute(array( , as above, yes.


1 Answers

Ahhh, I've been looking in the wrong place. This is not a PHP or MySQL problem, but a PDO one. You have to change the PDO::MYSQL_ATTR_MAX_BUFFER_SIZE.

Mysql PDO maximum LONGBLOB data length on fetch

like image 106
goocreations Avatar answered Sep 23 '22 14:09

goocreations