PEAR::DB Problem

  • #1
L

Luca_

Aktives Mitglied
Themenersteller
Dabei seit
22.03.2006
Beiträge
36
Reaktionspunkte
0
Hi

Ich habe ein kleines Script welches mir div. Datensätze aus einer MySQL DB liest.
Das funktioniert einwandfrei. Da ich aber seit geraumer Zeit mit der PEAR::DB arbeite, wollte ich das ganze jetzt ersetzten, also die mysql-Abfragen in diesem Script.
funktioniert nicht, ich erhalte immer die folgende Fehlermeldung:

Fatal error: Call to a member function on a non-object in .../functions.inc.php on line 14

der PHP-Code
Code:
<?php
	require('DB.php');
	$dsn = mysql://user:pw@localhost/db;
	$db = DB::connect($dsn);
	if(DB::isError($result)) {
    die($result->getMessage());
  }

	include('functions.inc.php');

  display_children('',0);
?>
functions.inc.php :
Code:
<?php
	
  
	function display_children($parent, $level) {
		
		
		// retrieve all children of $parent
		$sql = SELECT
			    title
			  FROM
			    gn_downloads
			  WHERE
			    parent='.$parent.';;
		$result = $db->query($sql);  // <--- Line 14
		if(DB::isError($result)) {
			die($result->getMessage());
		}
		$dls = array();
	  while($row = $result->fetchrow(DB_FETCHMODE_ASSOC)) {
	    $dls[] = $row;
	  }
		// display each child
		while ($dls) {
		  // indent and display the title of this child
		  echo str_repeat('  ',$level).$row['title'].<br>\n;

		  // call this function again to display this
		  // child's children
		  display_children($row['title'], $level+1);
		}
		$result->free();
  	$db->disconnect();
	}
	
?>
Wo genau liegt der Fehler?
Ich haben schon probiert, den Teil wo er sich zur DB verbindet und die Klasse $db erstellt, in die Funktion einzubauen, jedoch ging das auch nicht:

Fatal error: Cannot redeclare class db in /usr/share/php/DB.php on line 271
 
  • #2
Code:
<?php
....
function display_children($parent, $level) {
 global $db;
....
?>
 
Thema:

PEAR::DB Problem

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben