MySQL-Probleme mit valid MySQL-Link resource

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

  • MySQL-Probleme mit valid MySQL-Link resource

    Hallo,

    beim Programmieren einer eigenen MySQL-Klasse ist mein Kumpel auf folgenden Fehler gestoßen:


    http://www.voodoon.com/vcs/ Es wird eine MySQL-Link ID nicht gefunden:

    die entsprechenden Code-Zeilen:

    PHP-Code:
    <?php
        
    // sql query
        
    public function query($sqlCommand){
            
    $result mysql_query($sqlCommand$this->connection);
            if (
    $result){
                
    $tmpCommand $sqlCommand;
                return 
    $result;
            }else{
                
    $this->sqlError mysql_error($this->connection);
                return 
    false;
            }
        }
    ?>
    (Zeile 24 -34)

    und

    PHP-Code:
    <?php
        
    // fehler zurückgeben
        
    public function getSqlError(){
            return 
    $this->sqlError;
        } 
    ?>
    (die Funktion der 2. Meldung)

    aufgerufen wird das Ganze über

    // $_VGLOBALS->database ist nen array mit den zugangsdatendaten

    $_DATABASE = new mysql($_VGLOBALS->database);
    $_DATABASE->query('SELECT * FROM `vcs_test:user`');
    $_DATABASE->doFinal();

    Die Verbindung steht, wird auch richtig hergestellt und wird als __construct aufgerufen.

    Kann mir da jemand helfen? Der Link zur Klasse: www.voodoon.com/shared/class.mysql.txt

    Vielen Dank.

    Grüße

    Cimme
    Zuletzt geändert von Cimme; 19.02.2006, 16:45.
    MfG
    Cimme

  • #2
    Re: MySQL-Probleme mit valid MySQL-Link resource

    Was ist denn $this-connection?
    Warum taucht diese Variable in der Klassendefinition nicht bei den Klassenvariablen als private oder protected auf?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      hi, also ich bin der Kumpel der sich jez auchmal hier registriert hat

      ich selber programmiere viel java, wenn ich dann auf eine klassenglobale variable von einer funktion aus zugreifen will, schreibt man eigentlich immer
      this."varname"

      und anhand einiger beispiele in php ist es mir so vorgekommen als würde man das gleiche auch per $this->"varname" machem, kann sein, dass ich da jez ganz falsch liege, nur mit objekten in php habe ich bisher nochnet superviel gemacht, daher dachte ich wenn ich
      privtae $connection; definiere greife ich in der funktion mit $this->connection auf diese zu.

      p.s. nochwas, die datenbank läuft NICHT auf localhost.
      hier noch die php info
      www.voodoon.com/info

      Kommentar


      • #4
        Original geschrieben von Xaos
        daher dachte ich wenn ich privtae $connection; definiere greife ich in der funktion mit $this->connection auf diese zu.
        Ja, stimmt natürlich - sorry, da hatte ich den Quellcode nicht genau genug angesehen.


        Hast du denn überprüft, ob beim Versuch die Verbindung herzustellen kein Fehler auftrat?
        Was macht deine Funktion println(), die da im Fehlerfalle aufgerufen wird?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          PHP-Code:
          function println($line){
          echo 
          $line."\n";

          (brauchte println aus gewohnheit )

          also die verbindung wird hergestellt, innerhalb des konstruktor kann ich ein query ausführen mit
          mysql_query("select irgendwas", $this->connection);

          das geht wunderbar, daher verstehe ich net wieso es in einer funktion nicht geht...
          Zuletzt geändert von Xaos; 19.02.2006, 17:27.

          Kommentar


          • #6
            Was passiert, wenn du bei mysql_query innerhalb der methode query() den zweiten Parameter weglässt? - Der ist ja sowieso optional, wenn nur eine Verbindung verwendet wird.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              dann kommt sowas tolles :

              Code:
              Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /mnt/kw2/05/589/00000018/htdocs/voodoon/vcs/class.mysql.php on line 26
              wie gesagt mySql läuft nicht auf localhost, ich habe den verdacht das es ein php internes problem mit der verbindungskennun geben könnte ?

              Kommentar


              • #8
                hat niemand ne idee....ich bin echt am verzweifeln...
                könnte es was helfen als ini_set() mal den externen mysql host in den php settings anzugeben ?

                Kommentar


                • #9
                  auf einmal gehts...habe die varibale private $connection in private $_resource umbenannt, kein fehler mehr oO

                  Kommentar


                  • #10
                    Hi,
                    daran kanns eigentlich nicht liegen PEAR:B benennt die
                    resource intern ebenfalls mit connection.
                    Könnte natürlich ein php5-"feature" sein, auch wenn mir
                    dahin gehend nichts bekannt ist.

                    Wenn die db entfernt ist, sollte php gar nicht versuchen sich
                    über den unix-domain-socket zu verbinden.

                    Insgesamt sehr merkwürdig das problem.

                    greets
                    (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

                    Kommentar

                    Lädt...
                    X