Problema di inserimento di un lungo text nella colonna del database MYSQL PHP

Sto riscontrando un problema nell'inserire un lungo text (circa 9000 caratteri) con una query INSERT in php. Ho già provato a cambiare il tipo di colonna (TEXT, MEDIUMTEXT,LONGTEXT) anche se il tipo di TESTO dovrebbe essere (TEXT, MEDIUMTEXT,LONGTEXT) per 9000 caratteri. Testato anche con un text privo di caratteri o citazioni speciali.

Stampo la mia query e sembra ok, quindi copio e incolli in phpMyAdmin e la row si inserisce correttamente. Quindi il problema si presenta quando provo ad INSERT dalla mia class php.

Ho provato con un text più piccolo e questo sembra funzionare bene. Ho davvero bisogno di risolverlo. Se qualcuno ha la soluzione per favore fammi sapere. Grazie!

Non ho ancora trovato il problema inserendo i miei lunghi testi, ma ho trovato una soluzione per girarlo, non è molto pulito, ma alless functionrà fino a quando non avrò trovato il vero problema, nel caso qualcuno avesse il lo stesso problema questo è quello che ho fatto.

Suddividi il text in pache di 1000 caratteri, fai il mio INSERISCI e AGGIORNA il field di text nel database aggiungendo le parti di text, quindi il codice:

$textArray = str_split($text,1000);

foreach($textArray as $t){ $model = new Article_Model_UpdateText($id,$t); }

La query in Article_Model_UpdateText ha il seguente aspetto:

"UPDATE mg_articles SET text = CONCAT (text, '".$text."') WHERE idArticle = ".$id.";";

Spero che questo aiuti qualcuno, grazie per tutte le vostre risposte.

Prova con il tipo di dati BLOB o LONGBLOB in mysql.

Farà il tuo lavoro.

La mia sfera di cristallo suggerisce che il problema potrebbe essere legato a max_allowed_packet:

http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_max_allowed_packet

(Ma è solo un colpo cieco.)

dovresti usare mysqli_real_escape_string per memorizzare lunghi testi … sarà come

 $variable= mysqli_real_escape_string(connection_variable,user input long text); 

ora puoi memorizzare la variabile $ nel tuo database inserendo una query, dovresti memorizzare $ variabile nel field longtext nel database