MySQL - Grundlagen?

Hallo ihr :wink:

Befasse mich momentan mit MySQL, und habe das Problem das sich die Tabellenspalten nicht so recht ausgeben lassen wollen.

Habe mir erstmal eine Tabelle mit Namen “blog” gemacht, mit den Spalten ID, DATE und TEXT.
In folgenden Code will ich also zur Datenbank connecten,
die Tabelle “blog” auswählen, die Einträge nach ID sortieren und dann die letzten 4 auswählen.
Abschließend will ich alle Spalteninhalte aus TEXT ausgeben.

  <?php
  mysql_connect("localhost","loginname","loginpasswort") or die ("Keine Verbindung moeglich");
  mysql_select_db("datenbankname") or die ("Die Datenbank existiert nicht");


  $abfrage = "SELECT * FROM blog ORDER BY ID DESC LIMIT 4";
  $eintrag = mysql_query("$abfrage");

    while($row = mysql_fetch_object($ergebnis))
    {
    echo $row->TEXT;
    }

  ?>

Jedoch kommt folgende Fehlermeldung:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /users/hash/www/test.html on line 13

Jemand eine Idee?
Sry, bin noch blutiger Anfänger in Sachen MySQL ;D.

Vorab: du solltest deine Tabellenüberschriften wirklich klein schreiben - das erspart einem den Ärger, wenn man sich da mal in einem Script verhaut die Ursache schnell zu lokalisieren.

$eintrag = mysql_query("$abfrage");

while($row = mysql_fetch_object([b]$ergebnis[/b]))

Fällt dir was auf?

[quote=“kerbination”]Vorab: du solltest deine Tabellenüberschriften wirklich klein schreiben - das erspart einem den Ärger, wenn man sich da mal in einem Script verhaut die Ursache schnell zu lokalisieren.

$eintrag = mysql_query("$abfrage");

while($row = mysql_fetch_object([b]$ergebnis[/b]))

Fällt dir was auf?[/quote]

Oh. :unamused:
Tja, es sind halt immer die kleinen Fehler :smiley:

Danke!

Ok, das Grundlegende funktioniert jetzt.

Nur noch eine kleine Frage:
Wenn ich nun die text-spalte ausgebe, muss darin Text/HTML sein?
Weil habe darin auch PHP-Code und der wird nicht ausgegeben.

es gibt eine funktion namens eval()
damit kannste ne zeichenkette als phpcode parsen.

Stelle bitte das error_reporting auf E_ALL, während du entwickelst - dann hätte dich PHP auf diesen Fehler (falscher Variablenname) höchstwahrscheinlich schon selbst hinweisen können.

[quote]Wenn ich nun die text-spalte ausgebe, muss darin Text/HTML sein?
Weil habe darin auch PHP-Code und der wird nicht ausgegeben.[/quote]
Du meinst vermutlich, dass er nicht interpretiert wird.

Natürlich nicht.
Aufgabe der Datenbank ist es, Daten vorzuhalten - nicht Programmlogik.
Da kann man sich zwar mittels eval Workarounds basteln - aber das ist a) gefährlich, wenn man nicht ganz genau weiss, was man tut, und b) wie gesagt eigentlich nicht Sinn der Sache.