Jag läste denna felrapport här:https://bugs.php.net/bug. php?id=51386
Ditt problem verkar hända eftersom det finns en longblob
eller longtext
i tabellens kolumner.
longtext
/ longblob
har en maximal längd på 4294967295
[4GB] det är därför mysqli försöker allokera det minnet för bufferten för att vara säker på att inget går förlorat. Jag skulle föreslå att du använder mediumtext
(16777215 [16MB] max längd), det borde räcka till allt vanligtvis.
Uppdatering: Eftersom det här svaret har sett en del aktivitet lägger jag till den här lösningen från Phil_1984 (se kommentarer)
=> Om du använder $stmt->store_result()
du kan använda mysqli med longblob
/ longtext
utan att få felet.
-
Gammalt svar: Jag föreslår att du antingen ändrar kolumnen till en annan typ (mediumtext) eller använder PDO (jag tror att den inte har det problemet). men om du vill behålla kolumnen som långtext måste du byta ditt mysql-bibliotek
Citat från PHP Dev: