Mailinglisten-Archive | 
Hi!
> > $query = 'SELECT * FROM '.$entries.' WHERE cat LIKE BINARY
> > "%'.mysql_escape_string($_GET[cat]).'%" ORDER BY id DESC';
Besser:
$query = 'SELECT * FROM '.$entries.' WHERE cat LIKE BINARY
"%'.mysql_escape_string($_GET['cat']).'%" ORDER BY id DESC';
(mit ' um das cat)
Grund: Ohne die Anführungszeichen wird cat als konstante erkannt, die
allerdings keinen Wert hat und deshalb ihren Namen zurückgibt - im
Normallfall also alles ok. Wenn du jetzt aber irgendwann mal eine
Konstante mit dem Namen cat in dein Script einbaust oder die
PHP-Programmierer vieleicht mal ne entsprechende Konstante vorsehen,
dann hat cat auf einmal einen ganz anderen Wert und dein Script wird
nicht mehr funktionieren. Beispiel:
define('cat', 'foo');
$query = 'SELECT * FROM '.$entries.' WHERE cat LIKE BINARY
"%'.mysql_escape_string($_GET[cat]).'%" ORDER BY id DESC';
Der tatsächliche Query lautet nun:
'SELECT * FROM '.$entries.' WHERE cat LIKE BINARY
"%'.mysql_escape_string($_GET['foo']).'%" ORDER BY id DESC';
cu, Roland Tapken
-- 
Please reply to:  tapken_(at)_engter.de
PGP Public Key: http://www.engter.de/~tapkenea/gnupg_roland.txt
  ~~~ I'm a signature-virus. Please copy me into your sig. ~~~
    php::bar PHP Wiki - Listenarchive