dedlfix: mysql_fetch_object() klappt nicht

Beitrag lesen

echo $begrüßung;

$dz = mysql_connect("$host","$user","$pw");
$sql = mysql_query("SELECT * FROM test_tabelle");
while ($ds = mysql_fetch_object($sql)) {
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\xampp\xampp\htdocs\LERN\php\index.php on line 8
Was ist los?

Das ist einer der häufigsten Anfängerfehler und er ist schon zu hauf geklärt. Eine Suchmaschine deiner Wahl sollte eine Erklärung in allen möglichen Sprachen liefern. Hier eine weitere auf deutsch:

Die mysql_*-Funktionen geben im Fehlerfall false statt einer Resosurcenkennung zurück. Dieses false ist kein gültiges Argument für die nachfolgenden mysql_*-Funktionen, welche in deinem Fall mysql_fetch_object ist. Deswegen beschwert sich PHP mit einer Fehlermeldung.
Mit anderen Worten heißt dies, dass bei einem voherigen Funktionsaufruf ein Fehlers bei der Ausführung aufgetreten ist, den du ignoriert hast.
Oft liest man solche Gebilde wie

mysql_*(...) or die(mysql_error());

Damit bekommt man zwar den Wortlauf der Fehlermeldung angezeigt, jedoch ist der nur für den Programmierer interessant. Für den Endanwender ist diese Meldung weder sinnvoll, noch ist es schön, dass das Script daraufhin einfach so stirbt, denn das versaut meist ganz gehörig das Layout der Seite ...
Besser ist es, den Fehler zu loggen und den weiteren Verlauf des Scripts bedingt zu gestalten:

$result = mysql_*(...);
if ($result)
  weiter im Text
else
  Fehler loggen und Tröstmeldung anzeigen

Weiterhin ist es nicht nötig, Variablen in "" einzurahmen, auch wenn das in viel zu vielen Quellen so falsch gemacht wird.

echo "$verabschiedung $name";