OO Datenbankabfrage

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

  • OO Datenbankabfrage

    Hallo, hab hier ein kleines Problem! Hier erst mal der Code:

    PHP-Code:
    class sql {

        var 
    $connect;
        var 
    $result;
        var 
    $dbname "test";

        function 
    sql($host "localhost"$user "test"$pass "test"){
            if (!
    $this->connect mysql_connect($host$user$pass)){
                echo 
    $this->connect;
                die (
    "<br>Keine Verbindung zur MySQL Datenbank!");
            }

            echo 
    $this->connect;
            return 
    $this->connect;

            if (!
    mysql_select_db($this->dbname$this->connect)){
                die (
    "<br>Keine Verbindung zu $this->dbname");
            }            
        
        }

        function 
    abfrage($abfrage){
            if (!
    $this->result mysql_query($abfrage$this->connect)){
                die (
    "<br>Konnte Abfrage nicht senden!");
            }
            return 
    $this->result;
        }

    }

    $db = &new sql();
    $db->abfrage("SELECT * FROM admins"); 
    So das Problem ist das ich andauernd folgende Meldung bekomme:
    Resource id #1
    Konnte Abfrage nicht senden!


    Wo ist der Fehler? Ich tippe mal auf die Zeile mit if (!mysql_select_db($this->dbname, $this->connect)){ ... } weiss aber nicht genau was falsch ist! Jemand eine Idee?

    Danke im Voraus.
    amon-ra

  • #2
    sieht eigentlich alles gut aus,
    lass doch mal $this->connect vor der Abfrage ausgeben,
    ob's denn überhaupt gültig ist.

    Außerdem solltest du nicht so eine allgemeine Fehlermeldung ausgeben,
    sondern den mysql-Error, der gibt dir genau an, was falsch ist.

    Eventuell kommt dann nämlich ein
    "table 'admins' doesn't exist"
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

    Kommentar


    • #3
      PHP-Code:
              echo $this->connect;
              return 
      $this->connect;

              if (!
      mysql_select_db($this->dbname$this->connect)){
                  die (
      "<br>Keine Verbindung zu $this->dbname");
              }            
          
          } 
      a) echo $this->connect .. darum die ausgabe "Resource id #1"
      b) du lieferst mit return die verbindung zurück ..
      erst danach (was nimmer ausgeführt wird) wählst du die db aus ..
      klar dass er bei der abfrage keine db findet und folgendes ausgibt "Konnte Abfrage nicht senden!"
      mfg,
      [color=#0080c0]Coragon[/color]

      Kommentar

      Lädt...
      X