Tobias Kloth: mysql_fetch_object() klappt nicht

Beitrag lesen

Hallo Phil,

<?

Verwende besser gleich <?php - dann funktioniert dein Code auch wenn er auf einem System laufen soll, auf dem short_open_tags ausgeschaltet ist.

$dz = mysql_connect("$host","$user","$pw");

Die Anführungszeichen um die Variablen kannst du weglassen, die sind überflüssig.

$sql = mysql_query("SELECT * FROM test_tabelle");

Bevor du einen Query abschicken kannst, musst du MySQL erstmal mitteilen, in welcher Datenbank die Tabelle zu finden ist - das geschieht mit Hilfe der Funktion mysql_select_db(). Außerdem solltest du dir abgewöhnen "SELECT *" zu schreiben, lies mal http://www.php-faq.de/q/q-sql-select.html.

Verbindung zu MySQL und zur Datenbank funktioniert aber er gibt mir folgende Meldung aus:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource [...]

Die Positionsangabe der Fehlermeldung ist etwas irreführend - der Fehler tritt nämlich schon in der Zeile mit dem mysql_query() auf. Wenn ein Query nicht erfolgreich ausgeführt werden kann, liefert mysql_query() nämlich false zurück, womit mysql_fetch_object() nichts anfangen kann. Um den Fehler zu sehen den mysql_query() liefert, musst du mysql_error() verwenden. füge mal statt der Zeile mit dem mysql_query() das ein:
$sql = mysql_query("SELECT id, name FROM test_tabelle") or die('Es ist ein Fehler aufgetreten: '.mysql_error());
Wenn jetzt bei mysql_query() ein Fehler auftritt, wird der Teil hinter dem "or" ausgeführt, das Script wird als von die() beendet, nachdem der übergebene Text ausgegeben wurde.

Grüße aus Nürnberg
Tobias