PHP: Variable in einer MySQL Abfrage

Dark Mania

Mitglied
Thread Starter
Registriert
18.02.2006
Beiträge
176
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.
 

mac-o-rama

Neues Mitglied
Registriert
29.01.2006
Beiträge
48
Hi,

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

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

ApfelRalf

Mitglied
Registriert
14.01.2004
Beiträge
654
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
 

scope

Aktives Mitglied
Registriert
24.01.2005
Beiträge
4.115
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'] );
 

wegus

Moderator
Registriert
13.09.2004
Beiträge
17.516
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!
 
Oben