Fatal error: Call to a member function sql_query() on a...

Installatie lukt niet? Plotseling een foutmelding. Of weet je niet hoe iets werkt. Problemen met phpBB2 kun je in dit archief opzoeken.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
Gebruikersavatar
flance
Berichten: 95
Lid geworden op: 01 feb 2005, 17:50

Fatal error: Call to a member function sql_query() on a...

Bericht door flance » 18 sep 2005, 15:13

Helleuw,
ik was bezig om een artikel systeem te maken gebaseerd op phpBB. Ik loop alleen vast op 1 ding. Ik ben nu bezig met het stukje dat een admin artikelen goed moet keuren in het administratiepaneel. Het is dus mogelijk om deze artikelen in de admin te kunnen bekijken.
Het is dus de bedoeling dat alles netjes geparsed wordt door de bbcode en smilies etc. Maar ik loop nu vast.
Ik heb ../includes/bbcode.php ge-include om de functies daaruit te gebruiken, maar nu krijg ik deze error:
Fatal error: Call to a member function sql_query() on a non-object in C:\server\Apache2\htdocs\wr\includes\bbcode.php on line 751
Ik neem dus aan dat de database class op één of andere manier niet aangeroepen is. Bij het scripten in het admin paneeltje heb ik deze class ook niet gebruikt, dus ik weet het niet zeker.

Hoe kan ik dit voorkomen/oplossen?
Voor al je webmasterhulp -> WebRookie!
Afbeelding

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 18 sep 2005, 15:28

geef regel 700 - 765 eens?

Gebruikersavatar
flance
Berichten: 95
Lid geworden op: 01 feb 2005, 17:50

Bericht door flance » 18 sep 2005, 18:28

Ik geef die functie wel gewoon:

Code: Selecteer alles

//
// Smilies code ... would this be better tagged on to the end of bbcode.php?
// Probably so and I'll move it before B2
//
function smilies_pass($message)
{
	static $orig, $repl;

	if (!isset($orig))
	{
		global $db, $board_config;
		$orig = $repl = array();

		$sql = 'SELECT * FROM ' . SMILIES_TABLE;
		if( !$result = $db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, "Couldn't obtain smilies data", "", __LINE__, __FILE__, $sql);
		}
		$smilies = $db->sql_fetchrowset($result);

		if (count($smilies))
		{
			usort($smilies, 'smiley_sort');
		}

		for ($i = 0; $i < count($smilies); $i++)
		{
			$orig[] = "/(?<=.\W|\W.|^\W)" . phpbb_preg_quote($smilies[$i]['code'], "/") . "(?=.\W|\W.|\W$)/";
			$repl[] = '<img src="'. $board_config['smilies_path'] . '/' . $smilies[$i]['smile_url'] . '" alt="' . $smilies[$i]['emoticon'] . '" border="0" />';
		}
	}

	if (count($orig))
	{
		$message = preg_replace($orig, $repl, ' ' . $message . ' ');
		$message = substr($message, 1, -1);
	}
	
	return $message;
}
maar daar gaat het niet om. De error zit hier:

Code: Selecteer alles

if( !$result = $db->sql_query($sql) )
en wat ik dus begrijp is dat $db helemaal niet bestaat en mijn vraag is dus: hoe maak ik dat ding aan?

edit:
in mijn bestandje in de admin heb ik dus dit, maar het wil niet baten:

Code: Selecteer alles

	$dbms = 'mysql4';
	include '../includes/db.php';
	include '../includes/bbcode.php';
Voor al je webmasterhulp -> WebRookie!
Afbeelding

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 18 sep 2005, 19:59

Je hebt iets aan die functie veranderd :)
zet na:

Code: Selecteer alles

static $orig, $repl;
dit

Code: Selecteer alles

global $db;
:)

Gebruikersavatar
flance
Berichten: 95
Lid geworden op: 01 feb 2005, 17:50

Bericht door flance » 19 sep 2005, 17:44

Heeft geen nut. En het stond sowieso al in de functie...
Voor al je webmasterhulp -> WebRookie!
Afbeelding

Gesloten