Seite 1 von 1

constants.php - Zuteilung von Tabellennamen in der Datenbank

Verfasst: 27.05.2008 21:36
von lachkopf
In der Datenbank hab ich ne Tabelle mit dem Namen "phpbb3_warteliste" (präfix is bei mir immer phpbb3_)
Dann hab ich bei mir in den selbstgeschriebenen Dateien immer folgende Zeilen zum Abrufen aus der Tabelle:
$abfrage = "SELECT * FROM " . WARTELISTE_TABLE . " WHERE gepruft LIKE 'nein'";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis)) //Zeile 18
{
echo "<a href=warteliste_detail.php?id=$row->id>$row->nickname</a><br>";
}
In constants.php hab ich dann folgende Textpartie drinnen:
define('WARTELISTE_TABLE', $table_prefix . 'warteliste');
Nun kommt immer folgende Fehlermeldung beim öffnen:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in xxxxxxxxxphpBB3/warteliste_warteliste.php on line 18

Wenn ich aber direkt den Tabellennamen (phpbb3_warteliste), funktionierts.
Wer weis, woran das liegt? Muss ich constants.php vllt zuerst includes?

Und meine zweite Frage:
Wie nehme ich Kontakt mit der Datenbank auf, welche Datei muss ich includen? Zurzeit benutze ich eine selbstgeschriebene Datei dafür (dbconnect.php), mit der funktionierts sonnst auch immer. Liegts vllt daran?

Danke im Vorraus,
Lachkopf

Verfasst: 27.05.2008 23:35
von gn#36
Bindest du denn überhaupt die common.php ein, so dass die Konstante auch definiert wird?

Wenn du die Forumseigenen Objekte für die DB verwendest bekommst du sehr viel hübschere (und informativere) Fehlermeldungen sofern die Konstanten debug und debug_extra gesetzt sind.

Schau dir mal das hier an: http://olympuswiki.naderman.de/Adding_pages
Den Anfang dürftest du übernehmen können, in der common.php werden sämtliche wichtige Dinge eingebunden, die noch benötigt werden (also die Konstanten, Datenbankobjekt, Templateobjekt, Cacheobjekt...)

Verfasst: 28.05.2008 15:11
von lachkopf
Funktioniert jetzt, danke! :)