Ich baue eine PHP/MySQL-Anwendung und ich stoße auf ein Problem mit meiner erstellen und aktualisieren Abfrage. Ich habe 5 Spalten, die auf Typ eingestellt sind FLOAT, die auch als NULL-Spalten gesetzt werden.Ich plane, sie erst viel später im Workflow einzufügen.Was ist dieser Fehler? "Datenbankabfrage fehlgeschlagen: Daten abgeschnitten für Spalte 'Spaltenname' in Zeile 1
Allerdings muss ich neue Datensätze für diese Datenbank erstellen, und ich muss vorhandene Datensätze bearbeiten, ohne Ich benutze OOP PHP, das eine Standard save()
Methode verwendet, die überprüft, ob eine ID im Objekt vorhanden ist, andernfalls create()
, und wenn ja, ruft es update()
. Es funktioniert sehr gut, normalerweise
Die Methoden update()
und create()
wurden entwickelt, um aus einem protected static $db_fields
Attributarray zu extrahieren, das am Anfang jeder Klasse deklariert ist und alle Felder enthält, die in dieser Tabelle verwendet werden. update()
und create()
durchlaufen diese Array und entweder INSERT INTO
oder UPDATE
in SQL, entsprechend.
Mein Verständnis ist, dass, wenn Sie ''
(zwei einfache Anführungszeichen, leer) verwenden, SQL diese INSERT INTO
oder UPDATE
Anfragen überspringt und sie als NULL belassen. Es gibt nicht einmal Formularfelder für diese 5 Float-Werte irgendwo auf der Seite, also wenn die Methoden laufen, werden die Werte natürlich ''
sein.
Ist das der Grund, warum ich den Fehler "Daten gekürzt" bekomme? Es sieht anders aus - ich habe den abgeschnittenen Fehler noch nicht gesehen und deshalb komme ich zu euch Genies. Vielen Dank.
Meine Ahnung ist, dass MySQL erwartet, dass Werte, die in ein FLOAT-Feld geschrieben werden, mindestens numerisch oder NULL sind. Haben Sie versucht, NULL anstelle von '' zu verwenden? – jkndrkn