Ankündigung

Einklappen
Keine Ankündigung bisher.

Insert von NULL

Einklappen

Neue Werbung 2019

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

  • Insert von NULL

    Hallo Leute,

    hab jetzt schon ne Weile gesucht aber einfach nicht das passende gefunden.

    Über:
    Code:
    $forename = mysql_real_escape_string($_POST['forename']);
    speichere ich den Wert für Vorname zwischen. Dieser Wert wird über Ajax an das Script gesendet. $forename wird entweder mit Daten oder dem Wert null gesendet.

    Wie kann ich es realisieren, dass über diesen INSERT:

    Code:
    $query = "INSERT INTO person VALUES(NULL, '$forename')";
    im falle das $forename null ist, NULL in die Datenbank geschrieben wird.

    Was ich nicht will, ist dies hier:

    Code:
    if($forename == null) {
    
    $query = "INSERT INTO person VALUES(NULL, '$forename')";
    
    } else {
    
    $query = "INSERT INTO person VALUES(NULL, NULL)";
    
    }
    Da dieser Insert sehr häufig vorkommen wird und nicht jedesmal ein If-Kontrukt durchlaufen werden soll.

    Schonmal vielen Dank!
    quibb


  • #2
    Wo ist das Problem, eine einfach Abfrage einzubauen?
    Look at This!
    Digital-Duty.DE
    Für Syntax-Fehler übernehme ich keine Haftung!

    Kommentar


    • #3
      Du kannst mysql_real_escape_string() in eine eigene Escape-Funktion auslagern, in der du zusätzlich PHP-NULL in MySQL-NULL wandelst.

      Übrigens sind Text-Felder (Vorname hört sich danach an) nach dem Submit niemals NULL.

      Kommentar


      • #4
        INSERT INTO person VALUES(NULL, NULL)
        Den Sinn eines solchen Eintrags sähe ich sowieso nicht. Von daher würde sich der else-Zweig schon mal erübrigen. Ansonsten kenn SQL auch IF-Strukturen. Ich denke, dass das auch bei Inserts klappen sollte.
        --

        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


        --

        Kommentar


        • #5
          @tholi
          Es ging mir darum eine Abfrage zu vermeiden. Eine Abfrage bedeutet immerhin Rechenzeit und das versuche ich hier zu umgehen.

          @hpf
          Erstmal danke. Da ich z.Z. einfach keine Lösung ohne eine Bedingung finde, verwende ich jetzt ersteinmal:

          Code:
          $query = "INSERT INTO person VALUES(NULL, " . (empty($forename) ? "NULL" : "'" . $forename . "'") . ")"
          @nikosch
          Ich habe in meinem posting zwar nicht geschrieben um was es geht, in meinem Fall ergibt es allerdings einen Sinn das beide Werte einen NULL Wert bekommen, da hier Vornamen auch unbekannt sein können.



          Erstmal vielen Dank an alle und falls jmd. eine Lösung, ohne eine Bedingung zu verwenden, findet, immer her damit!
          Aber vielleicht gibt es sowas ja auch garnicht.

          Die Variable die übergeben wird enthält entweder: den vorname, den wert null per javascript zugewiesen oder ist ein leerer String. Dachte hier gibt es eine Möglichkeit, dass ganze ohne Bedingung zu realiseren. Wobei der leere String standard is, es zu Versuchszwecken aber auch über eine null zuweisung per javascript versucht habe.

          Grüße
          quibb

          Kommentar


          • #6
            Da ich z.Z. einfach keine Lösung ohne eine Bedingung finde
            Habe oben geschrieben wies geht.
            Ich habe in meinem posting zwar nicht geschrieben um was es geht
            Ja. Und das ist für gewöhnlich ein Fehler.
            --

            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


            --

            Kommentar


            • #7
              Zitat von quibb Beitrag anzeigen
              Die Variable die übergeben wird enthält entweder: den vorname, den wert null per javascript zugewiesen oder ist ein leerer String. Dachte hier gibt es eine Möglichkeit, dass ganze ohne Bedingung zu realiseren. Wobei der leere String standard is, es zu Versuchszwecken aber auch über eine null zuweisung per javascript versucht habe.
              Den Wert NULL via Request zu übertragen geht nicht. Über die Request-Variablen kommen immer Strings an.
              Wenn überhaupt kannst du die Variablen als JSON-Objekt verpacken, welches wiederrum als String gesendet wird. Via json_decode() kommst du dann auch tatsächlich an einen Wert wie NULL ran.
              Je grösser der Dachschaden, desto schöner der Ausblick zum Himmel. - [WIKI]Karlheinz Deschner[/WIKI]

              Kommentar


              • #8
                Vor allem wäre die wichtige Info in diesem Fall, was Du mit dem Eintragen von NULL,NULL bezweckst.
                --

                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                --

                Kommentar

                Lädt...
                X