2016-05-21 3 views
0

Ich habe ein Problem mit dem neuen implementierten JSON-Speicher in MySQL. Ich verwende mysql-5.7.12, jquery-2.1.1 und Bootstrap-editierbare-1.5.1Mein Datenattribut ist leer, wenn ich versuche, zu viele Daten darin zu speichern

Der Code sieht wie folgt aus:

<dt>Memo</dt> 
foreach(json_decode($row['memo'], true) as $user => $memo) { 
    // $row['memo'] is something like: {"user":"very-long-text-with-some\\n escaped lines..."} 
    echo " 
    <dd><a class='memo' id='telephone-memo' data-pid='".$row['id']."' data-text='".$memo."' employee='".$user."'>new</a></dd>"; 
} 

Die a class='memo' ... ist die x-editierbar.

Ein Blick in die Datenbank zeigt keinen Fehler. Ich kann mehr als genug in der JSON-Zeichenfolge speichern.

Das Problem ist, wenn ich mehr als 194 Zeichen in der X-editierbaren Textbereich, das Data-Text-Attribut zeigt leer! Wenn dies der Fall ist, überschreibt der Benutzer seine Daten bei der nächsten Bearbeitung, weil er die tatsächlich gespeicherten Daten nicht gesehen hat. Gibt es eine Einschränkung, von der ich nichts wusste?

Ich bin außerordentlich dankbar für Ihre Hilfe.

+0

* "Gibt es eine Einschränkung" * nein. Versuchen Sie es mit 'data-text = '". Json_encode ($ memo). "'' Da 'json_decode()' das Entfernen entfernt – charlietfl

+0

Fred: in mysql ist keine Spaltenlänge definiert, der Typ ist json. charlietfl: Gute Idee, ich werde das jetzt versuchen! –

+0

Die Lösung 'data-text = '". Json_encode ($ memo). "'' Funktioniert auch nicht. Der Ausgang ist: '

neu
' –

Antwort

0

Das Problem ist gelöst!

Ich verwende seit vielen Jahren eine UCFIRST() -Funktion in MySQL. Dies ist eine 8-Bit-Funktion !! Normalerweise für Namen ect.

Funktion für die JSON-Spalte entfernt und es funktioniert.

Verwandte Themen