addslashes mit einer Select...WHERE

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

  • fireweasel
    antwortet
    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

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • Koda
    antwortet
    Hi

    Danke. Mit mysql_real_escape_string klappt es

    Gruss

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

    Einen Kommentar schreiben:


  • wahsaga
    antwortet
    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.

    Einen Kommentar schreiben:


  • Koda
    hat ein Thema erstellt addslashes mit einer Select...WHERE.

    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
Lädt...
X