MudGuard: Bewertung: Ist dieses Skript einen Pfifferling wert?

Beitrag lesen

Hi,

#Schutz vor SQL-Injections
  if(get_magic_quotes_gpc() == false)
  {
     $buchstb = addslashes($_GET['buchstb']);
     $wort = addslashes($_GET['wort']);

Zum Escapen für mysql wäre mysql_real_escape_string geeigneter.

include("../mysql/connect.php");

was aber erst nach dieser Zeile benutzt werden kann ...

$query = "SELECT begriff, url FROM lexikon WHERE buchstabe = '$buchstb'" or die(mysql_error());

Die Zuweisung dieses Strings liefert immer einen Wert, der zu true gewandelt wird, da er nicht leer ist.
Wozu an dieser Stelle (Stringzuweisung in PHP) überhaupt die eventuelle Abfrage des mysql_error dienen sollte, ist nicht klar.

$result = mysql_query($query);
  while($row = mysql_fetch_object($result))

Hier, wo tatsächlich auf die Datenbank zugegriffen wurde, fehlt die Fehlerbehandlung und es wird gnadenlos das $result verwendet, egal, ob die Datenbank einen Fehler geliefert hat oder nicht.

$query_wort = "SELECT buchstabe, definition FROM lexikon WHERE wort = '$wort'" or die (mysql_error());

s.o.

$result_wort = mysql_query($query_wort);
     while($row = mysql_fetch_object($result_wort))

s.o.

cu,
Andreas

--
Warum nennt sich Andreas hier MudGuard?
Schreinerei Waechter
O o ostern ...
Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.