Hi Stefan!
$dbanfrage = "SELECT * FROM main WHERE kat = $_REQUEST[kat]";
|
Ausserdem hast du eine Array-Variable literal in einem String, was so weit ich weiss problematisch ist. Also besser gleich so:
|
$dbanfrage = "SELECT * FROM main WHERE kat = '".$_REQUEST[kat]."'";
Kleine Korrektur bezogen auf die PHP-Variable: So ist das nur richtig wenn die Konstante "kat" definiert ist.
folgende Varianten wären korrekt:
$dbanfrage = "SELECT * FROM main WHERE kat = '$_REQUEST[kat]'";
$dbanfrage = "SELECT * FROM main WHERE kat = '".$_REQUEST['kat']."'";
$dbanfrage = "SELECT * FROM main WHERE kat = '{$_REQUEST['kat']}'";
Siehe hierzu: http://de3.php.net/manual/de/language.types.string.php#language.types.string.parsing
btw.: man sollte übrigens keine Variablen die man nicht selber kontrolliert(also sowas wie $_REQUEST, bei register-globals so ziemlich jede Variable) ungeprüft an eine Datenbank-Abfrage, an die Kommandozeile, an include() oder ähnliches übergeben.
Man sollte in diesem Fall also mindestens mysql_escape_string($_REQUEST['kat']) anwenden.
Siehe hierzu: http://de3.php.net/manual/de/security.database.php#security.database.sql-injection
Viele Grüße
Andreas
--
SELFHTML Tipps & Tricks: http://aktuell.de.selfhtml.org/tippstricks/