addslashes mit einer Select...WHERE

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

  • addslashes mit einer Select...WHERE

    Guten Abend

    Ich habe heute ein Problem wo ich irgendwie auf dem Schlauch stehe. Ich trage diverse Werte in eine Datenbank welche vorher mit addslashes Maskiert werden.

    Soweit so gut. Nun möchte ich im Script abfragen, ob dieser Wert schonmal jemand eingetragen hat. mit SELECT * WHERE name = '".addslashes($_REQUEST['field'])."'

    Bei einem Namen wie Tina funktioniert dies wunderbar. Ich habe nun Testweise sowas verwendet ohne ": "Tina '0?'^'äö$}"
    Hier ist nun das Problem, das er mit das nicht als bereits eingetragen erkennt obwohl es vorher eingetragen wurde.

    Wie kann ich das bewerkstelligen?

    Gruss und Danke

    Koda

  • #2
    Zitat von Koda Beitrag anzeigen
    Soweit so gut.
    Nein, soweit so schlecht.

    addslashes ist dafür weder vorgesehen noch geeignet. Nutze die Maskierungs-Funktion, die die Datenbank-Erweiterung dafür vorsieht. (Und diese Erweiterung sollte, sofern es um eine MySQL-Datenbank geht, MySQLi oder PDO sein, die MySQL-Erweiterung ist seit längerem deprecated.)

    Oder nutze gleich prepared statements.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Hi

      Danke. Mit mysql_real_escape_string klappt es

      Gruss

      Koda
      Zuletzt geändert von Koda; 05.03.2015, 19:27.

      Kommentar


      • #4
        Die mysql_* Funktionen sind übrigens veraltet und sollten nicht mehr verwendet werden. Als Nachfolger gibt es mysqli und PDO.

        Kommentar


        • #5
          Zitat von Koda Beitrag anzeigen
          Guten Abend

          Ich habe heute ein Problem wo ich irgendwie auf dem Schlauch stehe. Ich trage diverse Werte in eine Datenbank ...

          Soweit so gut. Nun möchte ich im Script abfragen, ob dieser Wert schonmal jemand eingetragen hat. mit SELECT * WHERE name = '".addslashes($_REQUEST['field'])."'

          ...
          Als Ergänzung: Wenn du den SELECT nur brauchst, um doppelte Einträge zu vermeiden, ist es meistens einfacher, diese Arbeit der Datenbank zu überlassen. Dazu gibst du den gewünschten Spalten beim Erstellen der Tabelle die Einschränkung UNIQUE mit. Danach wird jeder INSERT, der Dubletten enthält von der Datenbank abgewiesen.

          Einführung in SQL: DDL - Einzelheiten ? Wikibooks, Sammlung freier Lehr-, Sach- und Fachbücher
          Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

          Kommentar

          Lädt...
          X