Mailinglisten-Archive |
Hallo Leute, mich quält mal wieder ein bissl Referenz o.s.ä. Beim Erstellen des Objektes 'etikett' werden die DBs überprüft: function etikett() { $error = etikett::pCheckEitkettDB(); } Die DBs stehen in einem Array: $dbs = array('sap_data', 'etiketten'); Dessen Werte gebe ich mit foreach($dbs as $db) zur Überprüfung auf Vorhanden sein an meine MySQL-Klasse: echo mysql::checkDB($db); Beim Ersten Durchlauf wird korrekt 1 wiedergegeben, beim zweiten wird mit einem Fehler abgebrochen. Dabei ist die Datenbank vorhanden. Auch wenn ich zwei Zeilen schreiben, je DB eine Überprüfung, macht er mir den Abflug... Die Ergebnisresource für die gefundenen Datenbanken wird in $this->ListDBs abgelegt. Wenn ich mir das Objekt 'etikett' bzw. '$this' ausgeben lasse, steht für den ersten Durchlauf auch schön die Resource drin, beim zweiten ist dann ebbe... Hier mal die Funktionen mysqll::checkDB() und mysql::getDBs() function checkDB($db, $link = '') { $link = !$link ? mysql::getConnection() : $link; $DBs = mysql::getDBs($link, false); $ret = in_array(strtolower($db), $DBs) ? true : mysql::createDB($db, $link); return $ret; } function getDBs($link = '', $withEmpty = true) { $link = !$link ? mysql::getConnection() : $link; if (empty($this->ListDBs)) { $ListDBs = @mysql_list_dbs($link) or $ListDBs = 0; $this->ListDBs = $ListDBs; } else $ListDBs = $this->ListDBs; !$ListDBs ? tracking::showError(mysql_error($link), mysql_errno($link)) : NULL; $Liste = array(); $withEmpty ? $Liste[] = '' : NULL; while($DB = mysql_fetch_array($ListDBs) or $DB = 0) $Liste[] = strtolower($DB[0]); return $Liste; } Vielleicht sieht ja jemand von euch, wo die Säge klemmt. Vielen Dank schonmal -- Mit freundlichen Grüßen / Kind regards Steffen Kother
php::bar PHP Wiki - Listenarchive