Simon: Fehler in query

Hi,
kann mir da jemand sagen wo ich den Fehler mache, ich finde keinen:
in beiden Fällen ist die Variabel $ort='ORT';

Wenn ich so schreibe bekomme ich diese Fehlermeldung:

'SELECT * FROM DB WHERE ORT ='.mysql_real_escape_string($ort).''

Unknown column 'ORT' in 'where clause'.

aber wenn ich so mache:
"SELECT * FROM DB WHERE ORT ='$ort'"
funktionier es.

MfG
Simon

  1. 'SELECT * FROM DB WHERE ORT ='.mysql_real_escape_string($ort).''
    "SELECT * FROM DB WHERE ORT ='$ort'"

    Eh klar, das ist ja nicht dasselbe, auch wenn es nix zu escapen gibt. Hast du schon geprüft, wie denn die Abfrage im Klartext aussieht, bevor du sie an MySQL-übergibst?

    1. Eh klar, das ist ja nicht dasselbe, auch wenn es nix zu escapen gibt. Hast du schon geprüft, wie denn die Abfrage im Klartext aussieht, bevor du sie an MySQL-übergibst?

      Nein, wie meinst du das?

      Ich bin nur grad dabei das ganze so zu machen um eben SQL Injections zu vermeiden nur weiß ich nicht ob es auch mit mysql_real_escape_string() ausreicht.

      1. Eh klar, das ist ja nicht dasselbe, auch wenn es nix zu escapen gibt. Hast du schon geprüft, wie denn die Abfrage im Klartext aussieht, bevor du sie an MySQL-übergibst?

        Nein, wie meinst du das?

        Du sollest zumindest das hier machen und die beiden Ausgaben vergleichen:

        echo 'SELECT * FROM DB WHERE ORT ='.mysql_real_escape_string($ort).'';
        echo "SELECT * FROM DB WHERE ORT ='$ort'";

        Ich bin nur grad dabei das ganze so zu machen um eben SQL Injections zu vermeiden nur weiß ich nicht ob es auch mit mysql_real_escape_string() ausreicht.

        Das reicht schon aus, keine Frage.

  2. Hi

    'SELECT * FROM DB WHERE ORT =' .mysql_real_escape_string($ort).''

    Vielleicht

      
      
    'SELECT * FROM DB WHERE ORT =\'' . mysql_real_escape_string($ort). '\''  
    
    ~~~ ??