Mailinglisten-Archive |
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