Ich habe folgendes Problem. wenn ich inerhalb meiner Query methode z.b. fetch_assoc ausführe dann klappt es wenn ich allerdings die id vom query zurück geben lasse und an die Funktion übergebe schlägt es fehl:
Das Problem tritt aber bis jetzt nur unter Ubunut auf. Unter meinem XP Rechner mit Xammp hat es perfekt funktoniert.
Hier der Code
Die Mysql hauptklasse:
Die mysqli.inc.php Welche gelanden wird:
Das Problem tritt aber bis jetzt nur unter Ubunut auf. Unter meinem XP Rechner mit Xammp hat es perfekt funktoniert.
Hier der Code
Die Mysql hauptklasse:
PHP-Code:
<?php
/*
@AUTOR: Florian Krauthan
@DATUM: 12.11.2007
@DESC: Der �bergeordnete Datenbank Manager
*/
switch(SYS_DB_MOD) {
case 1:
//MYSQLi Modus
require_once("./engines/db/mysqli.inc.php");
break;
case 2:
//Old Mysql Modus
require_once("./engines/db/oldmysql.inc.php");
break;
case 3:
//SQLITE Modus
break;
}
class CDb {
private $classHandler = NULL;
public function Connect() {
if($this->classHandler) {
$this->DisConnect();
}
if(SYS_DB_MOD<1||SYS_DB_MOD>2||!is_integer(SYS_DB_MOD))
die("Systemfehler: Das angegeben DatenbankModul exestiert nicht.");
switch(SYS_DB_MOD) {
case 1:
//MYSQLi Modus
$this->classHandler = new CMySqli();
break;
case 2:
//Old Mysql Modus
$this->classHandler = new COldMySql();
break;
case 3:
//SQLITE Modus
break;
}
return $this->classHandler->Connect();
}
public function DisConnect() {
if($this->classHandler) return true;
$ret = $this->classHandler->DisConnect();
$this->classHandler=NULL;
return $ret;
}
public function GetDataArray($id) {
return $this->classHandler->GetDataArray($id);
}
public function GetData($id) {
return $this->classHandler->GetData($id);
}
public function Query($query) {
return $this->classHandler->Query(str_replace("%p%", SYS_DB_PREF, $query));
}
public function CountData($id) {
return $this->classHandler->CountData($id);
}
}
PHP-Code:
<?php
/*
@AUTOR: Florian Krauthan
@DATUM: 12.11.2007
@DESC: Der MYSQL Datenbank Manager
*/
//Das Interface
require_once("./engines/interfaces/db.interface.inc.php");
class CMySqli implements IDbMod {
private $dbPointer = NULL;
public function Connect() {
$iserror = false;
$this->dbPointer = new mysqli(SYS_DB_HOST, SYS_DB_USER, SYS_DB_PASS, SYS_DB_DB);
if(mysqli_connect_errno())
return false;
return true;
}
public function DisConnect() {
$this->dbPointer->close();
}
public function Query($query) {
/*
* Sie Funktoniert es
$res = $this->dbPointer->query($query);
$data = $res->fetch_assoc();
die("ID: ".$data["field"]);*/
//So nicht
return $this->dbPointer->query($query);
}
public function GetData($id) {
$ret = $id->fetch_assoc();
$id->free();
return $ret;
}
public function GetDataArray($id) {
$tmpArray = array();
while($ret = $id->fetch_assoc()) {
array_push($tmpArray, $ret);
}
$id->free();
return $tmpArray;
}
public function CountData($id) {
return $id->num_rows;
}
public function IsNewData($table) {
}
}
?>
Kommentar