PHP Funktion aus Funktion aufrufen

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

  • PHP Funktion aus Funktion aufrufen

    Hallo zusammen,

    in PHP 4.4.7 ist es wohl nicht mehr möglich eine Funktion aus einer Funktion aus aufzurufen. Ich bekomme folgende Fehlermeldung.

    Only variable references should be returned by reference in

    hier die Funktion..
    PHP-Code:
    PHP-Code:
    function &query($query) {
            
    $result $this->simpleQuery($query);
            if (
    DB::isError($result) || $result === DB_OK) {
                return 
    $result;
            } else {
                return new 
    DB_result($this$result);
            }
        } 
    Kann mir jemand sagen wie ich den Fehler umgehen kann ?

    Vielen Dank und viele Grüße
    trashoverwrite
    -------
    Jetzt Wissen testen
    mit dem Tagesquiz

  • #2
    die funktion sollte wohl eher
    function query(&$query) heissen
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      Das Problem liegt bei diesem Aufr

      PHP-Code:
      DB_result($this$result);

      function 
      DB_result(&$dbh$result)
          {
              
      $this->dbh = &$dbh;
              
      $this->result $result;
          } 
      Hier wird die Fehlermeldung angezeigt ...
      -------
      Jetzt Wissen testen
      mit dem Tagesquiz

      Kommentar


      • #4
        $this->dbh = &$dbh;
        $this->dbh = $dbh;
        und dein Funktionsname ist m.E. immer noch falsch
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          Also so falsch kann das alles nicht sein, da es mit einer ältern 4er Version läuft nur mit 4.4.7 gehts net ....

          Sorry, Ich weiß net welche Änderungen du meinst
          -------
          Jetzt Wissen testen
          mit dem Tagesquiz

          Kommentar


          • #6
            Zeig mal bitte den Code mit der vollständigen Fehlermeldung.

            BTW: Die Fehlermeldung sagt eigentlich schon alles.

            Kommentar


            • #7
              So sieht ne Funktionen - Call by Reference aus:
              function name(&$var) {
              // und so benutzt Du innerhalb der Funktion Deine Variable &$var:
              $var = $var + 2;
              }
              und dann aufrufen:
              $var = 10;
              name($var);
              echo $var;

              Du mixed da irgendwie immer mal irgendwo ein & ein
              Beantworte nie Threads mit mehr als 15 followups...
              Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

              Kommentar


              • #8
                Das sind die Fehlermeldungen....

                Notice: Only variable references should be returned by reference in E:\xampp\htdocs\test\DB.php on line 2011

                Notice: Only variable references should be returned by reference in E:\xampp\htdocs\test\DB.php on line 2011

                Notice: Undefined offset: 1 in E:\xampp\htdocs\test\engine.php on line 683

                Notice: Undefined offset: 2 in E:\xampp\htdocs\test\engine.php on line 683

                Notice: Undefined offset: 3 in E:\xampp\htdocs\test\engine.php on line 683

                Notice: Undefined offset: 4 in E:\xampp\htdocs\test\engine.php on line 683

                Notice: Only variable references should be returned by reference in E:\xampp\htdocs\test\DB.php on line 2011

                Notice: Only variable references should be returned by reference in E:\xampp\htdocs\test\DB.php on line 2011

                Notice: Only variable references should be returned by reference in E:\xampp\htdocs\test\DB.php on line 2011

                und wie schon gesagt die Funktionen gehen bie älterne PHP Versionen


                Danke euch allen
                Zuletzt geändert von trashoverwrite; 13.05.2008, 19:26.
                -------
                Jetzt Wissen testen
                mit dem Tagesquiz

                Kommentar


                • #9
                  und wo ist der coder der benannten Zeilen?
                  Beantworte nie Threads mit mehr als 15 followups...
                  Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                  Kommentar


                  • #10
                    Na der hier ....


                    DB_result($this, $result);

                    function DB_result(&$dbh, $result)
                    {
                    $this->dbh = &$dbh;
                    $this->result = $result;
                    }
                    -------
                    Jetzt Wissen testen
                    mit dem Tagesquiz

                    Kommentar


                    • #11
                      Dein Code hat 6 Zeilen. Wo soll da 2011 sein?

                      line 2011
                      Das ist hart, für ne DB-Klasse oder so...

                      Kommentar


                      • #12
                        function &query($query) {
                        $result = $this->simpleQuery($query);
                        if (DB::isError($result) || $result === DB_OK) {
                        return $result;
                        } else {
                        return new DB_result($this, $result);
                        }
                        }


                        --> return new DB_result($this, $result);

                        Beim Aufruf dieser Zeile (2011).... ist der genaue Fehler
                        -------
                        Jetzt Wissen testen
                        mit dem Tagesquiz

                        Kommentar


                        • #13
                          http://www.php.net/manual/en/languag...ces.return.php

                          You can only return variables by reference from a function - nothing else. E_NOTICE error is issued since PHP 4.4.0 and PHP 5.1.0 if the code tries to return a dynamic expression or a result of the new operator.

                          Kommentar


                          • #14
                            Original geschrieben von trashoverwrite
                            Na der hier ....


                            DB_result($this, $result);

                            function DB_result(&$dbh, $result)
                            {
                            $this->dbh = &$dbh;
                            $this->result = $result;
                            }
                            warum wird die Funktion DB_result mit reference aufgerufen?
                            ich sehe keinen Sinn....
                            und wenn Du noch bissi suchst oben im thread stehen wohl schon die Lösungen
                            Beantworte nie Threads mit mehr als 15 followups...
                            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                            Kommentar


                            • #15
                              Re: PHP Funktion aus Funktion aufrufen

                              speichere den inhalt von
                              PHP-Code:
                                          return new DB_result($this$result); 
                              in einer variable und gib diese mittels return zurück.
                              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                              Kommentar

                              Lädt...
                              X