3Danke
ERLEDIGT
JA
JA
ANTWORTEN
12
12
ZUGRIFFE
537
537
EMPFEHLEN
-
Hallo,
ich habe ein Formular über das ein paar Dinge in eine Datenbank geschrieben werden.
In dem Formular gibt es zwei Felder, die nicht unbedingt ausgefüllt werden müssen, die auch in der Datenbankstruktur mit "Standard NULL" gekennzeichnet sind.
Wenn man jetzt über das Formular einen neuen Datensatz einfügt, die Felder aber leer sind, verschwindet NULL und in dem Feld steht dann nichts drin.
Gibt es eine Möglichkeit die Felder nicht anzurühren, wenn sie leer sind und nur die übrigen zu befüllen?
-
13.01.12 20:12 #2Ch Tutorials.de Gastzugang
NULL bedeutet "NICHTS" also nicht mal (int) 0 . vielleicht erklärst du dich mal genauer z.B. mit Quellcode.
-
Der Quellcode steht hier: http://www.tutorials.de/javascript-a...-absenden.html

Und da gibt es zwei Felder die nicht ausgefüllt werden müssen, welche als NULL markiert bleiben sollen, wenn sie leer abgeschickt werden.
Über phpmyadmin habe ich die Tabelle angelegt und dort sind die Felder als Standard mit NULL angehakt.
Wie kann man es lösen, dass diese nicht angerührt werden, wenn das Formular dort leer bleibt?
-
Wenn die Felder leer bleiben, sollte auch nichts anderes als NULL in die DB-Spalten kommen. Probleme gibts, wenn du die POST-Werte beim Absenden des Inserts ungeprüft als Strings übergibst, wie
Dann landet natürlich '' drin. Prüfe mit empty ob in dem Feld etwas steht, und wenn nicht, gibst du im INSERT entweder direkt NULL an oder aber du beachtest die Spalte gar nicht, womit der Standard, also auch NULL, eingetragen würde.PHP-Code:$sql = "INSERT INTO `test` VALUES ('".$_POST['leeres_feld']."');";
Und vergiss das Escapen nicht.Geändert von para_noid (13.01.12 um 23:15 Uhr)
Für die Übereinstimmung von Niederschrift und Hirninhalt.
-
item: Sorry, hab grad keine Lust einen anderen Thread nach einer klaren Frage zu durchsuchen.
item: Annahme: Du arbeitest mit MySQL
item: Null ist nicht gleich einem leeren String
item: Um Leerstrings nach NULL zu konvertieren kann man bei MySQL folgendes anwenden
Code sql:1
INSERT INTO my_table (FIELD) VALUES(IF('{$myBValue}' = '', NULL, '{$myValue}'))
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
-
PHP-Code:
VALUES(IF('".mysql_real_escape_string($_POST['name'][0])."' = '', NULL, '".mysql_real_escape_string($_POST['name'][0])."'))
bei der SET variante bin ich mir nicht sicher, oben schon...PHP-Code:SET name = IF('".mysql_real_escape_string($_POST['name'][0])."' = '', NULL, '".mysql_real_escape_string($_POST['name'][0])."')
das Format von einer mysql-if Abfrage ist: if(wenn, dann, sonst)
-
Nö. Mein Beispiel ist Aussagekräftig genug. Was du nicht kennst an den Befehlen solltest du in der MySQL-Doku nachschlagen.
Wie due dein SQL-String den du in PHP erstellst nachher testen kannst, gibts ein Tutorial. [PHP] [MySQL] Debug Queries
Einzig noch den Tipp: Du kannst auch in PHP auf Null prüfen und ggf. den Wert entsprechend vorbereiten.---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Yaslaw, du bist hier Moderator. Wenn du schon keine Hilfestellung mehr geben willst, dann schreib doch bitte nichts dazu. Ich bin seiner Bitte bereits nachgekommen.
Ahja, und da fällt mir noch etwas zu ein: Bitte beachte §15 der Netiquette. Schau dir bitte die Beistrichregeln an. (http://odl.vwv.at/deutsch/odlres/res...Beistriche.htm)
Gruß
-
Neue Grammatikregeln? Wann wurden denn die eingeführt - wohl nach meiner Schulzeit. Zum Glück will ich kein Buch schreiben und mit den alten ist man selten ganz falsch. *g*
Achja, ich schreibe aber gerne dazu, dass er selber etwas erarbeiten soll. Keine Antwort geben ist doch sehr unfreundlich wenn man persönlich angesprochen wird.---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
-
Jepp, stehen sie.
[PHP] Strings in Complex (Curly) Syntax---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Also, beide Varianten (INSER und UPDATE) klappen wunderbar! Nochmals DANKE an alle!
Ähnliche Themen
-
dynamische Felder, Felder mit Daten belegen
Von jenny1106 im Forum C/C++Antworten: 8Letzter Beitrag: 08.03.10, 10:42 -
JAVA CASTOR null-Felder ausblenden
Von maethes82 im Forum JavaAntworten: 3Letzter Beitrag: 24.07.07, 14:21 -
NULL oder NOT NULL ****?
Von KingChimera im Forum Relationale DatenbanksystemeAntworten: 5Letzter Beitrag: 24.08.03, 09:32 -
markieren unterdrücken
Von dji im Forum Javascript & AjaxAntworten: 7Letzter Beitrag: 24.10.02, 13:07 -
Markieren
Von Johannes Postler im Forum Visual Basic 6.0Antworten: 2Letzter Beitrag: 14.02.02, 18:00





Zitieren


Login





