ich habe versucht, einige Daten in die Datenbank einfügen, aber ich habe diesen Fehler „Fehler beim QUERY-Paket sendet“Fehler beim Senden von QUERY-Paket
$insertDeta = $conPat->prepare("insert into table1(data) VALUES(:data)");
$insertDeta->bindParam(':data',$data);
$conPat->beginTransaction();
$insertDeta->execute();
$conPat->commit();
aber was ich denke, das Problem ist, dass Größe der Daten ist über 16 MB.
der Datentyp der Spalte wird als longtext, die ich denke, kann Daten so groß wie 4 GB halten.
Ich weiß nicht, ob PDOs Probleme beim Ausführen der Abfrage oder Übertragung von 16 MB Daten an die Datenbank hat.
Das ist die einzige Vermutung, die ich machen kann, da mysql die Daten in Pakete senden kann und das Paket nicht Daten so groß wie 16MB halten kann.
SET GLOBAL berichtet produziert max_allowed_packet = 32M ist nicht in MySQL arbeiten, sagt sie ungültig Argument. aber wenn ich eine Anfrage auf SET GLOBAL feuern max_allowed_packet = 524288000; Ich erhalte diesen Fehler "Überprüfen Sie das Handbuch, das Ihrer MySQL-Server-Version für die richtige Syntax in der Nähe 'SET GLOBAL max_allowed_packet = 524288000' in Zeile 1 entspricht" –
Sie können 'SHOW VARIABLES LIKE 'max_allowed_packet' ausführen, um zu sehen, was Ihr max Wert ist eigentlich. Sind Sie auf einem freigegebenen Host? Wenn ja, dann könnte es für Sie deaktiviert sein. – cjhill
Ist das persistent oder müssen Sie das nach dem Neustart von mysql erneut tun? –