phpbar.de logo

Mailinglisten-Archive

Like

Like

Georg Richter mysql-de_(at)_lists.bttr.org
Wed, 19 Jun 2002 17:30:05 +0200


On Wednesday, 19. June 2002 16:57, Markus Walter wrote:
Moin,

>
> Was mach ich den falsch???
> Grüsse markus

Würdest Du Dir angewöhnen, anstatt PHP-Code, eine SQL-Query zu posten, 
hättest Du den Fehler vermutl. selber gefunden:

SELECT * FROM badword WHERE ... strBadWord LIKE '%sex33%'

Da strbadword den Inhalt "sex" hat, kann dass natürlich nicht matchen.

Korrekt wäre:

SELECT fields FROM badword WHERE 'sex33' LIKE CONCAT("%", strBadWord, "%")

Allerdings ist es die Frage, ob das eine glückliche Lösung ist, Eingaben 
serverseitig zu prüfen. Zu dem kann bei dieser Abfrage kein Index verwendet 
werden.

Zu Deinem PHP-Code:

1) SELECT * FROM ....

Wozu selektierst Du alle Felder, wenn Du sie gar nicht brauchst?! Das kostet 
nur Speicher (und auch Performance).

2) mysql_db_query
ist deprecated, und fliegt irgendwann vermutlich raus.
Du solltest mysql_select_db und mysql_query verwenden

3) Resultset freigeben
Wieso gibst Du das Resultset nicht wieder frei mittels mysql_free_result?! 


Gruss

Georg

---
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive