leere Felder als NULL in mySQL speichern
Matthias Jütte
- datenbank
0 wahsaga
Hallo!
Was muß ich denn anstellen, um leere POST-Variablen in mySQL als NULL abzuspeichern?
Gruß
Matthias
hi,
Was muß ich denn anstellen, um leere POST-Variablen in mySQL als NULL abzuspeichern?
für die felder in der tabellendefinition den wert NULL erlauben, und in deiner INSERT-query für diese spalte den wert NULL einfügen.
gruss,
wahsaga
Hallo!
für die felder in der tabellendefinition den wert NULL erlauben, und in deiner INSERT-query für diese spalte den wert NULL einfügen.
Das war schon klar. Was ich halt nicht hinbekomme ist den NULL-Wert in den Query zu bekommen. Ist allerdings auch noch etwas komplexer, also aufgepaßt.
Ich lese die Daten aus Tabelle A aus und stellen sie in einem Formular zur Verarbeitung zur Verfügung. Beim Abschicken des Formulars werde die Variablen unter $_SESSION gespeichert und danach aus den Session-Variablen mittels UPDATE in A geschrieben.
Nun habe ich versucht IFNULL nach folgendem Muster anzuwenden:
$query = "UPDATE $tb[contacts] SET extra = IFNULL('$_SESSION[variable]', NULL) WHERE ...";
Das hat nicht funktioniert, also habe ich noch folgendes ausprobiert:
foreach ( $_POST as $key => $val ) {
if ( empty( $val ) ) {
$_SESSION[$key] = NULL;
}
else {
$_SESSION[$key] = $val;
}
}
Was ist hier falsch?
Gruß
Matthias
hi,
$query = "UPDATE $tb[contacts] SET extra = IFNULL('$_SESSION[variable]', NULL) WHERE ...";
Das hat nicht funktioniert
was ergab eine kontrollausgabe der query?
gruss,
wahsaga
Hallo!
was ergab eine kontrollausgabe der query?
Das Feld war zwar leer, aber halt nicht NULL. Also so als wenn ...='' geschrieben wurde.
Gruß
Matthias
hi,
Das Feld war zwar leer, aber halt nicht NULL. Also so als wenn ...='' geschrieben wurde.
ich meinte eine kontroll-ausgabe deines query-strings, den du an die DB absetzen möchtest.
gruss,
wahsaga