1. #1
    Avatar von Minecraft
    Registriert seit
    25.11.2011
    Beiträge
    275
    Thanked 50 Times in 34 Posts
    Blog Entries
    13

    Standard [MySQL] Variablen in Strings

    Hey,

    ich arbeite grade mit PHP und MYSQL und habe mal eine Frage wegen Sicherheit:

    Wenn ich Variablen direkt in Strings verwende, also z.B.

    PHP-Code:
    $id 234;
    $sqlquery="SELECT * FROM tabelle WHERE id=$id"
    Sollte man das nicht machen oder ist das irgendwie unsicherer wie wenn man es normal macht? Also so:

    PHP-Code:
    $id 234;
    $sqlquery="SELECT * FROM tabelle WHERE id=".$id
    $id ist natürlich nur eine Zahl also keine ungeprüften Eingaben wie ' durch sql Injection
    Hat die 1. Variante irgendwelche Nachteile gegenüber der 2.?

  2. #2
    Gelöschter Benutzer
    Gast

    Standard AW: [MySQL] Variablen in Strings

    Nein hat sie nicht.

    Sobald die Zahl (also $id) aber der Benutzer bestimmen kann würde ich sie escapen (mysql_real_escape_string()) und / oder vorher überprüfen ob das auch wirklich eine Zahl ist (is_numeric()).
    Geändert von Gelöschter Benutzer (24.04.2012 um 21:57 Uhr)

  3. #3
    Avatar von Diebspiel
    Registriert seit
    18.11.2011
    Beiträge
    311
    Thanked 191 Times in 102 Posts

    Standard AW: [MySQL] Variablen in Strings

    Die erste Möglichkeit sollte man vermeiden, oder {$name}, besser die Zweite nehmen.

    Bei Zahlen grundsätzlich nie mysql_real_escape_string benutzen, wie es mein Vorposter geschrieben hat. Da benutzt man intval(), eine sehr schöne und sichere Funktion.

  4. The Following User Says Thank You to Diebspiel For This Useful Post:

    Minecraft (25.04.2012)

  5. #4
    Avatar von Gnome
    Registriert seit
    14.04.2012
    Beiträge
    75
    Thanked 34 Times in 24 Posts

    Standard AW: [MySQL] Variablen in Strings

    oder man casted direkt auf int
    $var = (int)$var;

    Ausserdem sollten Strings in single quotes geschrieben werden... Es ist sauberer programmiert, da man eben '$var' nicht machen kann .... Ausserdem ist es schneller^^

  6. The Following User Says Thank You to Gnome For This Useful Post:

    Minecraft (25.04.2012)

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 05.01.2017, 09:31
  2. Antworten: 8
    Letzter Beitrag: 22.03.2014, 22:57
  3. Strings alphabetisch ordnen
    Von Saad im Forum Java
    Antworten: 8
    Letzter Beitrag: 12.11.2012, 13:45
  4. [C++] Strings verbinden?
    Von Minecraft im Forum C++
    Antworten: 6
    Letzter Beitrag: 25.04.2012, 19:23
  5. VB.Net Variablen
    Von Snees im Forum .Net
    Antworten: 9
    Letzter Beitrag: 05.04.2012, 16:24
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.