dedlfix: mysql datenbank

Beitrag lesen

echo $begrüßung;

1.) Mach doch aus $_POST[number] $_POST['number'], dann sollte es gehen.

Außerhalb eines String notiert ist ein literal notierter Array-Schlüssel in Anführungszeichen zu setzen. Why is $foo[bar] wrong? Innerhalb eines mit "" eingefassten Strings ist die Schreibweise ohne Anführungszeichen gültige PHP-Syntax. Siehe dazu die Note am Ende des verlinkten Abschnitts, kurz nach dem Unterabschnitt So why is it bad then? Mit ''-Anführungszeichen in ""-Strings muss die {}-Syntax verwendet werden.

Allerdings ist es im Falle des OP besser, die Sache ganz anders zu notieren.

$sql = sprintf("SELECT art FROM table WHERE id = '%s'",
  mysql_real_escape_string($_POST['number']));
if ($result = mysql_query($sql))
  while ($record = mysql_fetch_...($result))
    ...
else
  // Alternative im Fehlerfall

Die Query wird vor SQL-Injektion geschützt, indem der übergebene Wert mit mysql_real_escape_string() behandelt wird, bevor er in den SQL-String-Kontext eingefügt wird. Das sprintf() lässt den Query-String im Ganzen, zerstückelt ihn also nicht, um den mit mysql_real_escape_string() behandelten Wert einzufügen. Außerdem ist ein Reagieren auf Fehler angebracht, das ich im obigen Code angedeutet habe.

echo "$verabschiedung $name";