PHP: Variable in einer MySQL Abfrage

Dark Mania

Mitglied
Thread Starter
Dabei seit
18.02.2006
Beiträge
173
Reaktionspunkte
0
Tach

Code:
  $request = "SELECT * FROM Datenbank WHERE genre like '$categ' ORDER BY name LIMIT $entry, 25";
  $result = mysql_query($request);

Mit diesem Code funzt das Script nicht. Wenn ich jedoch die Variable $categ durch "xp" (ohne ") ersetze, dann funzt es. Die Variable wird folgendermaßen übergeben

Code:
  $categ = $HTTP_GET_VARS["categ"];

und ja, in der URL steht

(...)&categ=xp(...)

Hoffe, mir kann jemand helfen. Danke.
 
Hi,

Du hast leider nicht geschrieben, welche PHP Version Du verwendest, aber versuche es mal mit

Code:
 $categ = $_GET["categ"];
 
Juten Morschen!

Wie sieht denn $request aus, wenn du dir mal mit "echo $request" dein SQL-String ausgeben lässt? Ist $categ überhaupt gefüllt?

Ich benutze immer diese Syntax:

$paramter = $_REQUEST["parameter"];

LG R
 
Wenn du es in einen MySQL-Query einbaust, umbedingt vorher den String prüfen, um SQL-Insertion (hieß es so) zu verhindern.

PHP:
$parameter = mysql_escape_string( $_REQUEST['parameter'] );
 
@Scope: "SQL-Injection" :)

</ot>
 
Die Variable wird gefüllt, soviel ist sicher
 
Dark Mania schrieb:
Die Variable wird gefüllt, soviel ist sicher


was sich ja durch einen einfachen print();beweisen ließe! In jedem Fall ist Dein Zugriff auf POST/GET-Variablen ab PHP4 veraltet und funktioniert nur noch bei wenigen Servern (register_globals=on). Korrekt wäre ein Zugriff via $_POST[] oder $_GET[]-Array!
 
Zurück
Oben Unten