Engelein: Variablen ausgeben

Beitrag lesen

// Datenbankverbindung aufbauen
$connectionid = mysql_connect ("xyz", "xyz", "xyz");

Hier fehlt eine Fehlerprüfung.

if (!mysql_select_db ("xyz", $connectionid))
{
  die ("Keine Verbindung zur Datenbank");

Nein, er kann die Datenbank nicht finden. Die Verbindung wäre wenn, dann schon in der ersten Zeile fehlgeschlagen.

$abfrage = mysql_query("SELECT Id FROM benutzerdaten WHERE Id = '1'") or die('Es ist ein Fehler aufgetreten: '.mysql_error());
$ergebnis = mysql_query($abfrage);
while ($row = mysql_fetch_object($abfrage))

Es erscheint einfach ein weißes Blatt, auch keine Fehlermeldung.

Die Fehlermeldung befindet sich möglicherweise dort, wo sie hingehört: Im Fehlerprotokoll des Servers. Denn zumindest das zweite mysql_query(), dem du keinen SQL-Befehl, sondern das Ergebnis des ersten mysql_query()-Aufrufes übergibst, müsste sich beschweren.
Die Zeile '$ergebnis = mysql_query($abfrage);' kannst du ersatzlos streichen. Die Variable $abfrage solltest du in $ergebnis umbenennen, auch bei mysql_fetch_().

Davon abgesehen: Wenn Variablen im Spiel sind und die nicht das zu enthalten scheinen, was sie sollen, ist es immer hilfreich, den Code mit var_dump()-Aufrufen zu pflastern.

$ergebnis = mysql_query("SELECT Id FROM benutzerdaten WHERE Id = '1'") or die('Es ist ein Fehler aufgetreten: '.mysql_error());
var_dump($ergebnis);
while ($row = mysql_fetch_object($abfrage)) {
  var_dump($row);
}

Weiterhin könntest du den Teil WHERE Id = '1' aus dem SQL-Befehl probehalber entfernen - wenn irgendwas in der Tabelle drin ist, muss die Schleife auch etwas ausgeben.