Mehrere Verbindungen zu MySQL nicht möglich?

Mehrere Verbindungen zu MySQL nicht möglich?

am 20.09.2007 16:57:11 von Thomas Barth

Hallo,
ich habe keine Klasse für das DB-Handling erstellt. Die Klasse enthält
für die DB-Verbindung folgende Methoden.

class DB {
....
function DB($db) {
$this->db = $db;
}

function connectDatabase() {
$dbhost = '';
$dbname = '';
$dbuser = '';
$dbpw = '';

list($dbhost, $dbname, $dbuser, $dbpw) = $this->getDBAccessData();

if (false == $this->connect) {
$this->connect = mysql_connect($dbhost, $dbuser, $dbpw, true);
$this->checkDatabaseError(__LINE__);

if(false != $this->connect) {
mysql_select_db($dbname, $this->connect);

//diese Zeile wird bei allen Verbindungsaufrufen
//immer korrekt ausgegeben!
echo "$dbhost, $dbname, $dbuser, $dbpw
\n";

$this->checkDatabaseError(__LINE__);
}
}
}
}

Ich habe extra bei mysql_connect den "neue Verbindungs"-Parameter auf
true gesetzt.

Wenn ich im Skript mit der Programmlogik zwei Verbindungen zu zwei
Datenbanken herstelle, wird die Abarbeitung des Programm ohne
Fehlermeldung (trotz error_reporting('E_ALL')) beendet. Bei einer
Verbindung funktioniert es, aber ich benötige mehrere Verbindungen. Hat
jemand eine Idee, was da schief läuft?

Gruß,
Thomas B.

Re: Mehrere Verbindungen zu MySQL nicht möglich?

am 19.11.2007 20:38:32 von Stefan Riedel

Hallo,

Thomas Barth schrieb:
> Hallo,
> ich habe keine Klasse für das DB-Handling erstellt. Die Klasse enthält
> für die DB-Verbindung folgende Methoden.
>
> class DB {
> ...
> function DB($db) {
> $this->db = $db;
> }
>
> function connectDatabase() {
> $dbhost = '';
> $dbname = '';
> $dbuser = '';
> $dbpw = '';
>
> list($dbhost, $dbname, $dbuser, $dbpw) = $this->getDBAccessData();
>
> if (false == $this->connect) {
> $this->connect = mysql_connect($dbhost, $dbuser, $dbpw, true);
> $this->checkDatabaseError(__LINE__);
>
> if(false != $this->connect) {
> mysql_select_db($dbname, $this->connect);
>
> //diese Zeile wird bei allen Verbindungsaufrufen
> //immer korrekt ausgegeben!
> echo "$dbhost, $dbname, $dbuser, $dbpw
\n";
>
> $this->checkDatabaseError(__LINE__);
> }
> }
> }
> }
>
> Ich habe extra bei mysql_connect den "neue Verbindungs"-Parameter auf
> true gesetzt.
>
> Wenn ich im Skript mit der Programmlogik zwei Verbindungen zu zwei
> Datenbanken herstelle, wird die Abarbeitung des Programm ohne
> Fehlermeldung (trotz error_reporting('E_ALL')) beendet. Bei einer
> Verbindung funktioniert es, aber ich benötige mehrere Verbindungen. Hat
> jemand eine Idee, was da schief läuft?

was fürn System ist das? Ich hatte erst letzte Woche nen ähnliches
Problem, nur mit Doctrine. Mein Skript ist auch ohne irgendeine Meldung
einfach ausgestiegen. Dort nutzte ich nen ziemlich aktuelles Debian/Etch
mit PHP 5.2.3*.

>
> Gruß,
> Thomas B.

Gruß Stefan Riedel