Hallo,
evtl. steh ich auch einfach nur auf dem Schlauch, aber ich habe grade ein Problem, dass ich einfach nicht beheben kann.
Ich habe meinen Live-Server heute auf MySQL5 geupdatet, da ich lokal schon länger darunter entwickle. Über phpMyAdmin funktioniert auch alles prima, aber php will einfach nicht die gelieferten Ergenisse als gültige Ressource erkennen. Ich bekomme stets den Fehler:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/customer.cemderin.de/htdocs/x/x/src/classes/mysqlresult.class.php on line 16
Hier mal der Quelltext der entspr. Klasse:
Danke schonmal
Edit: Ok, der Fehler soll sein, dass keine Datenbank selektiert wurde. Der dazu gehörende Code:
Auch in einem Testscript, wo ich einfach mysql_connect, mysql_select_db, mysql_query und mysql_fetch_array aufrufe, wirft mysql_fetch_array diesen Fehler. Ich verzweifle
evtl. steh ich auch einfach nur auf dem Schlauch, aber ich habe grade ein Problem, dass ich einfach nicht beheben kann.
Ich habe meinen Live-Server heute auf MySQL5 geupdatet, da ich lokal schon länger darunter entwickle. Über phpMyAdmin funktioniert auch alles prima, aber php will einfach nicht die gelieferten Ergenisse als gültige Ressource erkennen. Ich bekomme stets den Fehler:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/customer.cemderin.de/htdocs/x/x/src/classes/mysqlresult.class.php on line 16
Hier mal der Quelltext der entspr. Klasse:
PHP-Code:
Class MySqlResult extends SqlResult {
// the result
private $rResult;
public function __construct($rResult) {
$this->rResult = $rResult;
}
public function fetchArray($bCompactIfOne = true) {
while($aData = mysql_fetch_array($this->rResult, MYSQL_ASSOC)) {
$aReturn[] = $aData;
}
if($bCompactIfOne) {
if(count($aReturn) == 1) {
return $aReturn[0];
} else if(count($aReturn) == 0) {
return false;
} else {
return $aReturn;
}
} else {
return $aReturn;
}
}
}
Edit: Ok, der Fehler soll sein, dass keine Datenbank selektiert wurde. Der dazu gehörende Code:
PHP-Code:
Class DbLayer {
// instance
private static $oMyInstance;
private $rLink;
private function __construct() {
// build db link
$this->rLink = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
// selecting database
mysql_select_db(DB_BASE, $this->rLink);
}
public static function singleton() {
if(!isset(self::$oMyInstance)) {
$sClassName = __CLASS__;
self::$oMyInstance = new $sClassName;
}
return self::$oMyInstance;
}
public function query($sQuery) {
$rResult = mysql_query($sQuery, $this->rLink);
$oReturn = new MySqlResult($rResult);
return $oReturn;
}
}
Kommentar