Leeren Datensatz anlegen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Leeren Datensatz anlegen

    Hallo,

    irgendwie funktioniert der nachfolgende Code nicht so richtig.

    also als erstes habe ich eine leeren Datensatz erzeugt:
    PHP-Code:
    $sql "INSERT INTO Personal () VALUES ()"
    anschließend wollte ich den Datensatz über update ändern.
    PHP-Code:
    $sql "UPDATE Personal As p, Adresse As a SET 
    p.e = '"
    .$_POST['neuet']."',
    p.F = '"
    .$_POST['neufs']."',
    p.A = '"
    .$_POST['neuag']."',
    a.N= '"
    .$_POST['neuna']."',
    a.Na="
    .$_POST['neunn']."',
    a.Str= '"
    .$_POST['neust']."',
    a.Nr= '"
    .$_POST['neunr']."',
    a.Pl= '"
    .$_POST['neuplz']."',
    a.Or= '"
    .$_POST['neuort']."'


    WHERE p.PersonalNr = '"
    .$_POST['orgpn']."' and a.PersonalNr = '".$_POST['orgpn']."'"
    Aber irgendwie wird die update Funktion nicht richtig ausgeführt. Funktioniert z.B mit den ersten drei $_Post, wenn ich die anderen wegnehme!
    Komme einfach nicht weiter... Hoffe mir kann da jemand weiter helfen ???!!!

    Besten Dank schon mal

  • #2
    Hallo b0db0x

    man muss mindestens die Felder angeben, die keinen Defaultwert haben und not null sind. Oder in der Tabelle halt alle not-null-Spalten mit einem Defaultwert ausstatten.

    Ansonsten (eigentlich generell) unbedingt mysql_error auslesen.

    Gruß,

    Anja
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Hatte es mit den Defaultwerten schon ausprobiert... Funktioniert auch, dass Problem ist jedoch, dass ich ein leeren Datensatz erzeugen möchte und wenn ich das dann so erzeuge:

      PHP-Code:
      INSERT INTO Personal (Familienstand,Arbeitsgebiet,Gehaltsstufe,SozialversNr,Lohnsteuerklasse,etin )
      VALUES ('','',0,0,0,0); 
      dann hab es in meinem Datensatz anstatt ein gewolltes blank beispielsweise eine 0 stehen...

      Kommentar


      • #4
        Zitat von b0db0x Beitrag anzeigen
        dann hab es in meinem Datensatz anstatt ein gewolltes blank beispielsweise eine 0 stehen...
        Bei welchem Spaltentyp ...?
        Nummerische Spaltentypen erlauben kein "blank" als Inhalt.

        Gar kein Inhalt wäre (übrigens auch bei Textspalten statt eines Leerstrings) der Wert NULL (sofern die Spaltendeklaration diesen nicht ausschliesst).


        Davon abgesehen, erschliesst sich mir der Sinn deines Vorhabens nicht wirklich - willst du nur irgendwas testen?

        Jedenfalls legst du in der Personal-Tabelle einen neuen, "leeren" Datensatz an - und willst dann das Update aber doch nur auf die Datensätze beziehen, die die WHERE-Klausel
        Code:
        WHERE p.PersonalNr = '".$_POST['orgpn']."' and a.PersonalNr = '".$_POST['orgpn']."'";
        erfüllen - da erwartest du doch hoffentlich nicht wirklich, dass das auf deinen "leeren" Datensatz zutrifft (sofern $_POST['orgpn'] und $_POST['orgpn'] nicht ebenfalls beide "leer" sind)?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar

        Lädt...
        X