Ankündigung

Einklappen
Keine Ankündigung bisher.

MySQL Problem

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MySQL Problem

    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:
    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);
            }
            
        }
    Die mysqli.inc.php Welche gelanden wird:
    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_HOSTSYS_DB_USERSYS_DB_PASSSYS_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) {
                
            }
        }
    ?>

  • #2
    1. Was für ein Fehlermeldung kommt denn?
    2. Sind auf Ubuntu und Xammp die selben Versionen von PHP & MySQL am laufen?
    3. Warum fetch_assco und nicht fetch_array welches wesentlich mehr funktionen bietet.

    Kommentar


    • #3
      Hat sich erledigt es lag an einer Falschen Query abfrage die ich übersehen hatte.

      Kommentar


      • #4
        Dafür solltest du auch mysql_error() verwenden! Dann siehst du sowas sofort!

        Kommentar


        • #5
          Hätte in diesem falle nichts gebracht hatte ich ja ausprobiert.

          Kommentar


          • #6
            Ein echtes Profi-Problem )

            Kommentar

            Lädt...
            X