Seite 1 von 1

Zugriff auf $db in eigener php-Datei

Verfasst: 01.04.2013 23:11
von phpbbfan3
Hallo,

ich versuche es schon den ganzen Nachmittag - in einer eigenen download.php will ich einen Download-Counter in einer Mysql-Tabelle aktualisieren.

Dazu will ich die phpbb-Connection $db aus common.php verwenden.
Beim Zugriff mit $db->sql_query() kommt der Fehler "Call to a member function sql_query() on a non-object".

Ok, er kennt die $db nicht. "global $db;" in download.php hat auch nicht geholfen. Was muss ich machen, damit ich die
aktuelle DB-Connection $db (aus common.php) nutzen kann? Es gibt zwar viele Themen dazu, aber mir hats nicht geholfen.

Für Euch wahrscheinlich ein Klacks - verratet mir bitte den Trick ;-)

Grüße
wos

Re: Zugriff auf $db in eigener php-Datei

Verfasst: 01.04.2013 23:56
von HabNurNeFrage
Hi,

Vielleicht helfen Dir diese Links:
https://wiki.phpbb.com/Using_the_phpBB3.0_DBAL
https://wiki.phpbb.com/Database_Abstraction_Layer

Es könnte sein, dass die Klasse DBAL in Deinem Script nicht oder nicht richtig eingebunden ist.
Anscheinend will die Methode deshalb noch nicht.

LG

Re: Zugriff auf $db in eigener php-Datei

Verfasst: 02.04.2013 00:51
von phpbbfan3
Danke fürs Feedback.

Sowas in der Form wie
define('IN_PHPBB', true);
$phpbb_root_path = './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

hatte ich versucht, da steht im Log aber ne PHP-Warning, weil ich mit header() "Content-Type und Content-Disposition rausschreibe und dann mit readfile() das download file sende:
"Cannot modify header informations" => das kommt aus functions.php, send_status_line(), dort wird auch ein header() geschrieben...

Der Fehler mit $db erscheint nicht mehr. Nach dem entfernen des ";" aus dem sql-String funktioniert ENDLICH auch das Update.

Vielen Dank!