dedlfix: Bilder in Dropdown

Beitrag lesen

echo $begrüßung;

Wenn du denkst, dass diese einfache Abfrage keinen Fehler erzeugt und du deshalb alle Fehlerbehandlung weglassen kannst, dann irrst du dich. Es sind schon Server beim Abarbeiten eines Statements gestorben. Das muss nicht an deinem Statement liegen, aber du bist mit betroffen, wenn es bei anderen passiert. mysql_query() liefert dann false zurück, wovon die Fetch-Funktionen aber keine Daten holen können und sich zu Recht beschweren.
Wie kann ich das denn dann verhindern?

Du kannst im PHP-Script nicht verhindern, dass der Datenbankserver Fehler meldet. Du musst sie nur in deinem Scritp einplanen und beim Auftreten den normalen Programmfluss verlassen und eine angemessene Alternative ausführen. Was angemessen ist, kann ich dir nicht sagen. Dem Anwender gegenüber wäre eine Tröstmeldung angebracht, aber ohne technische Details. Die interessieren den Anwender nicht und gehen ihn auch nichts an, wohl aber den Administrator. Ihn geeignet zu informieren wäre sinnvoll.

if ($query = mysql_query($select)) {
    // normal weiter
  } else {
    // Alternative im Fehlerfall
  }

Als ich

$name = $ds -> name;
   $url = $ds -> url;
weggelassen hatte, meldet er an anderer Stelle eine nicht definierte Variable.

Wenn du hier $name nicht mehr erzeugt, kannst du an anderer Stelle nicht damit arbeiten. Logisch, nicht? Da der Wert, den du haben willst, bereits in $ds->name steht, brauchst du nicht extra noch $name anzulegen und es wäre sinnvoll, stattdessen $ds->name überall dort zu notieren, wo du auf den Wert zugreifen möchtest.

echo "$verabschiedung $name";