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?
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.
The maximum standard SQL query length is 1024.00K characters, including comments.”
As long as you provide all values per ->execute(array( , as above, yes.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With