8500 Zeichen updaten

ThiKool

Erfahrenes Mitglied
Hallo ich möchte per Variable, welche ca. 8500 Zeichen enthält eine Spalte in meiner DB updaten. Leider schaltet das Update auf sturr, sodass gar nichts ausgeführt wird, bei dieser Menge an zeichen.

Die Spalte ist als Longtext deklariert. Hier meine Updatefunktion

PHP:
$update = mysql_query("UPDATE user Set yrf = '$string2',yrf_update='$next_update' WHERE id = '$tkme[id]'");

wobei $string2 über 8500 Zeichen enthält.

Vielen Dank euch schonmal!
 
Wie sieht den deine Tabelle aus ist das Feld 'yrf' den überhaupt in der Lage 8500 Zeichen aufzunehmen.
Außerdem wie sieht die fehlermeldung aus? Hast du mal mit
PHP:
or die(mysql_error());
vesucht?
 
Für 8500 Zeichen reicht auch TEXT, darin wird's nicht liegen.
Lass dir den Query mal ausgeben:
PHP:
echo "UPDATE user Set yrf = 'langer String',yrf_update='$next_update' WHERE id = '$tkme[id]'";
 
Hi

vllt. Prepared Statements probieren, der Querystring könnte ja größenbeschränkt sein.
Sonst, wie schon gesagt wurde: Fehlermeldung bitte.
 
Das sind gerade mal ~ 8,5kb, das Datenlimit für die Übertragnung ist das schon einiges größer ;)

Ich Tippe mal auf ein illegales Zeichen im String das dir das SQL Statement Fehlerhaft macht.

PS:
Type - Länge - Speicher
TINYTEXT - 0 bis 255 Zeichen - Länge des Wertes + 1 Byte
TEXT - 0 bis 65.535 Zeichen - Länge des Wertes + 2 Byte
MEDIUMTEXT - 0 bis 16.777.215 Zeichen - Länge des Wertes + 3 Byte
LONGTEXT - 0 bis 4.294.967.295 Zeichen - Länge des Wertes + 4 Byte
 
Was gibt das hier aus:

PHP:
$update = mysql_query("UPDATE user Set yrf = '$string2',yrf_update='$next_update' WHERE id = '$tkme[id]'") or die(mysql_error());
 
Du könntest das Single-Quote escapen lassen. Da es sich wahrscheinlich um $string2 handelt, wäre es ungefähr so zu bewerkstelligen:

PHP:
$string2 = mysql_real_escape_string($string2);
$update = mysql_query("UPDATE user Set yrf = '$string2',yrf_update='$next_update' WHERE id = '$tkme[id]'") or die(mysql_error());

Siehe auch http://php.net/manual/de/function.mysql-real-escape-string.php

Edit: Ich sehe grad, dass diesen Tipp bereits Yaslaw gegeben hat :-)
 
Salü

Das mit dem escapen stimm ich zu. Ich würde jedoch die Query wie folgt anpassen:

PHP:
$update = mysql_query("UPDATE user Set yrf = '".$string2."',yrf_update='".$next_update."' WHERE id = '".$tkme[id]."'") or die(mysql_error());

Dadurch sind die Variablen (aus meiner Sicht) klarer definiert..
 
Zurück