phpbar.de logo

Mailinglisten-Archive

[php] Pear::DB Konnektieren zur Datenbank funktioniert nur einmal

[php] Pear::DB Konnektieren zur Datenbank funktioniert nur einmal

Martin Abraham php_(at)_phpcenter.de
Sat, 23 Feb 2002 14:16:08 +0100


Hallo,

beim Aufruf der Funktion artikel_add wird die Funktion artikel_exists
aufgerufen. Diese baut eine Verbindung zu einer Mysql-Datenbak auf. Die
funktioniert problemlos. Die Verbindung zur Datenbank wird dann wieder
getrennt.
Später in der Funktion artikel_add soll erneut eine DB-Verbindung
hergestellt werden. Dieser DB-Connect funktioniert aber nicht mehr (Stelle
ist mnarkiert).
Serialize($db) ergibt i:-4;

Kann mir irgendjemand sagen wieso?
Wo kann man denn die Bedeutung für die verschiedenen i nachlesen.

Code:
>>>>>

$user = 'xxx';
$pass = 'xxx';
$host = '192.168.0.99';
$db_name = 'zeitschriftenverzeichnis';

require_once 'DB.php';

$dsn = "mysql://$user:$pass_(at)_$host/$db_name";

function artikel_exists($issn) {
	global $dsn;

	$db = DB::connect($dsn);
	if(DB::isError($db)){
		die('Konnte Verbindung zur Datenbank nicht herstellen');
	}
	$sql = "select Count(*) from zeitschriftenverzeichnis where issn=$issn";
	$result = $db->query($sql);
	if( DB::isError($result)){
		die( "Fehlerhafte Datenbankabfrage");
	}
	$row=$result->fetchRow($result);
	$db->disconnect();

	if( $row[0] > 0){
		return true;
	}
	else{
		return false;
	}
}

function
artikel_add($abc_pos,$titel,$untertitel,$herausgeber,$ausgabeort,$issn,$sieh
e_unter,$bemerkung1,$bemerkung2,$fruehere_spaetere_titel) {
	global $dsn;

	if(artikel_exists($issn)){
		return false;
	}
	$db = DB::connect($dsn);

/* ************************** HIER TRITT DER FEHLER AUF !!!
******************************* */

	if(DB::isError($db)){
		die('Konnte Verbindung zur Datenbank nicht herstellen');
	}
	$sql = "insert into zeitschriftenverzeichnis values

(abc_pos='$abc_pos',titel='$titel',untertitel='$untertitel',herausgeber='$he
rausgeber',ausgabeort='$ausgabeort',issn='$issn',

siehe_unter='$siehe_unter',bemerkung1='$bemerkung1',bemerkung2='$bemerkung2'
,fruehere_spaetere_titel='$fruehere_spaetere_titel')";
	$result = $db->query($sql);
	if( DB::isError($result)){
		die( "Fehlerhafte Datenbankabfrage");
	}
	$db->disconnect();
	return true;
}


mfg

Martin Abraham


php::bar PHP Wiki   -   Listenarchive