Ankündigung

Einklappen
Keine Ankündigung bisher.

Fatal error: Call to a member function fetchRecords() on a non-object in

Einklappen

Neue Werbung 2019

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

  • Fatal error: Call to a member function fetchRecords() on a non-object in

    Hallo zusammen,

    bekomme folgende Fehlermeldung :
    Fatal error: Call to a member function fetchRecords() on a non-object in ... on line 176

    der Code in line 176:
    PHP-Code:
        function makeAssociativeArray($key,$value,$table)
        {
            
    $this->sqlString "SELECT $key,$value FROM $table";
            
    $this->sqlString .= " ORDER BY $value";

            
    //        echo "sql:".$this->sqlString ."<br>";
            
    $data = array();
            if(
    $this->db->fetchRecords($this->sqlString) < 0)
                return 
    0;

            while(
    $record $this->db->nextRecord()) 
    Für jede Hilfe wäre ich dankbar.

    BG
    Maden


  • #2
    Evtl. vergessen zuerst eine neue Instanz zu erstellen, bevor Du folgendes machst: $this->db->fetchRecords ?

    Wolf29
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar


    • #3
      var_dump($this->db);
      vor den Aufruf von fetchRecords.
      Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

      Kommentar


      • #4
        Hallo wolf29,

        vielen Dank für den Tipp, aber ich bin noch ein NOOB ...

        Kannst Du mir das etwas erläutern?

        BG
        MAdien

        Kommentar


        • #5
          dir fehlt in deiner klasse ein

          private $db; und
          $this->db = new MySQLI(); oder so.. weis nicht welche datenbank du verwendest
          apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

          Kommentar


          • #6
            Danke für die antworten.
            Ist das so gemeint?

            PHP-Code:
            function makeAssociativeArray($key,$value,$table)
                {
                    
            $this->sqlString "SELECT $key,$value FROM $table";
                    
            $this->sqlString .= " ORDER BY $value";

                    
            //        echo "sql:".$this->sqlString ."<br>";
            var_dump($this->db); 
                    
            $data = array();
                    if(
            $this->db->fetchRecords($this->sqlString) < 0)
                        return 
            0;

                    while(
            $record $this->db->nextRecord()) 
            BG
            MAdien

            Kommentar


            • #7
              kannste nicht die ganze klasse posten? damit wir sehen wann bei dir eine instanz erstellt wird, wenn überhaupt und dann sehen wir eventuell ob es die methode fetchRecords exestiert
              apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

              Kommentar


              • #8
                PHP-Code:
                    function getRecord()
                    {

                        if((
                $num=$this->db->fetchRecords($this->sqlString)) < 0)
                            return -
                1;

                                if(
                $num >0)
                                {
                            
                $record $this->db->nextRecord();
                            
                $this->decodeRecord(&$record);
                            return 
                $record;
                                }
                                return 
                0;

                    }

                    function 
                getLastRecord($attr,$table)
                    {
                        
                $this->sqlString "SELECT MAX($attr) FROM $table";
                        if((
                $ret DBTable::getRecord()) == -1)
                            return 
                $ret;
                        
                //echo "Min ID: ".$ret[0]." <br>";
                        
                return $this->getRecordWithID($ret[0]);
                    }

                    function 
                getFirstRecord($attr,$table)
                    {
                        
                $this->sqlString "SELECT MIN($attr) FROM $table";
                        if((
                $ret DBTable::getRecord()) == -1)
                            return 
                $ret;
                        
                //echo "Min ID: ".$ret[0]." <br>";
                        
                return $this->getRecordWithID($ret[0]);
                    }



                    function 
                insertRecord()
                    {
                        if(
                $this->db->modifyRecords($this->sqlString)<0)
                            return 
                0;
                        return 
                1;
                    }


                    function 
                updateRecord()
                    {
                        if(
                $this->db->modifyRecords($this->sqlString)<=0)
                            return 
                0;
                        return 
                1;
                    }


                    function 
                deleteRecord()
                    {

                        if(
                $this->db->modifyRecords($this->sqlString)<0)
                            return 
                0;
                        return 
                1;
                    }


                    function 
                makeAssociativeArray($key,$value,$table)
                    {
                        
                $this->sqlString "SELECT $key,$value FROM $table";
                        
                $this->sqlString .= " ORDER BY $value";

                        
                //        echo "sql:".$this->sqlString ."<br>";
                        
                $data = array();
                        if(
                $this->db->fetchRecords($this->sqlString) < 0)
                            return 
                0;

                        while(
                $record $this->db->nextRecord())
                        {
                            
                $this->decodeRecord(&$record);
                            
                $data[$record[0]] = $record[1];
                        }
                        return 
                $data;
                    }

                    function 
                newRecord()
                    {
                        
                // implemented in derived classes
                    
                }

                    function 
                decodeRecord()
                    {
                        
                // implemented in derived classes
                    
                }

                    function 
                encodeRecord()
                    {
                        
                // implemented in derived classes
                    
                }


                Kommentar


                • #9
                  sehr schön.. und nun den wichtigen teil deiner klasse posten, müsste sowas sein wie

                  PHP-Code:
                  class Irgendeinname
                  {
                  private 
                  $db;
                  //und noch mehr sachen

                  function __construct(){
                  //irgend ein code
                  }


                  also auf jedenfall den abschnitt wo du siehst $this->db = new Irgendwas()
                  apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                  Kommentar


                  • #10
                    Meinst du diesen teil?

                    PHP-Code:
                    class DBTable
                    {

                        var 
                    $db;
                            var 
                    $msg="";
                        var 
                    $sqlString;
                            var 
                    $order="";


                            function 
                    DBTable($order="")
                        {
                                if(
                    $order != "")
                                    
                    $this->order=$order;
                        }

                        function 
                    setDB(&$dbobject)
                        {
                            
                    $this->db = &$dbobject;
                        }


                        function 
                    getError()
                        {
                            return 
                    $this->msg $this->db->errorMsg;
                        } 

                    Kommentar


                    • #11
                      ja genau und jetzt benötigen wir den teil wo du folgendes geschrieben hast(der steht nicht in der klasse, sondern müsste sich irgendwo anders befinden):

                      PHP-Code:
                      $db = new DBTable();
                      $db->setDB(mysql); 
                      auf jedenfall sieht es so aus, als ob du die setDB funktion,ich meinte methode, nicht verwendet hast
                      apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                      Kommentar


                      • #12
                        Zitat von madien Beitrag anzeigen
                        Meinst du diesen teil?

                        PHP-Code:
                        class DBTable
                        {

                            var 
                        $db;
                                var 
                        $msg="";
                            var 
                        $sqlString;
                                var 
                        $order="";


                                function 
                        DBTable($order="")
                            {
                                    if(
                        $order != "")
                                        
                        $this->order=$order;
                            }

                            function 
                        setDB(&$dbobject)
                            {
                                
                        $this->db = &$dbobject;
                            }


                            function 
                        getError()
                            {
                                return 
                        $this->msg $this->db->errorMsg;
                            } 

                        kann mir denn keiner felfen?

                        BG
                        MAdien

                        Kommentar


                        • #13
                          die fehlermeldung sagt aus, dass von der datenbank die methode nicht exestiert, vllt hast du eine falsche datenbank in den configs oder so eingestellt
                          apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                          Kommentar


                          • #14
                            Wie BlackScorp schon schrieb...

                            Wo instanzierst du die Klasse? Wird $db->setDB(mysql); irgendwo aufgerufen?

                            Kommentar


                            • #15
                              ...u.a. hat BlackScorp dir schon die entsprechenden Hinweise geben. Dir scheint eine Instanzierung zu fehlen und deswegen wollen wir wissen, ob Du es schon irgendwo gemacht hast (siehe BlackScorp). Wenn nicht, müsste es noch entsprechend eingefügt werden!

                              Wolf29
                              while (!asleep()) sheep++;

                              Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

                              Kommentar

                              Lädt...
                              X