Verbindung zur MySQL-Datenbank überprüfen

Dieses Thema im Forum "Datenbanksysteme für das Web" wurde erstellt von Badener, 26.06.2006.

  1. Badener

    Badener Thread Starter Gast

    Hallo,

    ich versuche momentan per PHP, Daten aus einer Datenbank auszulesen und anzuzeigen zu lassen. Sollte ja eigentlich nicht weiter schwer sein.

    Für die Verbindung benutze ich PEAR (das DB-Package).

    Auf der Seite, die die MySQL-Inhalte anzeigen soll, steht ganz oben:
    PHP:
    $db = new DB_Util('mysql://root:@localhost/blubber');

    $lesezeichen Bookmark::alle();
    In der Util.php ist die Datenbankverbindung ebenfalls eingetragen mit
    PHP:
    function DB_Util($dsn "mysql://root:@localhost/blubber"
    Jetzt mein Problem: Ich bekomme keine Verbindung! Die Datenbank "blubber" existiert - ich kann sie auch per phpmyadmin und CocoaMySQL verwalten. Inhalte sind auch schon hinterlegt.

    Kommentiere ich die Zeile
    PHP:
    $db = new DB_Util('mysql://root:@localhost/blubber');
    aus, kommt auch brav die Fehlermeldung, daß keine Verbindung zur DB besteht.
    Aber sobald ich diese Zeile wieder reinnehmen, bekomme ich als Ausgabe nur eine leere Seite.

    Kommentiere ich beide Zeilen aus, zeigt er mir die Website (natürlich ohne DB-Inhalte) an - daran kann es also auch nicht liegen....
    Die Pfade zu PEAR stimmen auch alle (hab die ins Projekt reinkopiert, da ich PEAR nicht vernünftig installiert bekomme - bin da wohl zu blöd für).

    Installiert ist MySQL 5.0.22

    Und jetzt gehen mir so langsam die Ideen aus.
     
  2. msslovi0

    msslovi0 MacUser Mitglied

    Beiträge:
    2.713
    Zustimmungen:
    115
    MacUser seit:
    20.03.2005
    Was macht denn die Funktion DB_Util?

    Baut die mit DB::connect() eine Verbindung auf? Und wenn ja, was ergibt eine Überprüfung auf Fehler nach diesem Verbindungsaufbau?
    PHP:
    $this->dbh DB::connect("mysql://root:@localhost/blubber",true);
    if (
    DB::isError($this->dbh)) {
      die(
    "DB::connect: ".$this->dbh->getMessage());
    }
    root ohne Passwort ist übrigens keine wirklich gute Idee.

    Matt
     
  3. Badener

    Badener Thread Starter Gast

    PHP:
    function DB_Util($dsn "mysql://root:@localhost/blubber") {
    $c DB::connect($dsn);
    if (
    DB::isError($c))
    die (
    "Fehler beim Verbindungsaufbau mit [$dsn]:".$c->getMessage());
    self::$db_handle $c;
    }

    static function 
    connection() {
    if (empty(
    self::$db_handle))
    die(
    "es besteht keine offene Datenbankverbindung. Zuerst mit
                          DB_Util::new() Verbindung herstellen."
    .__LINE__);
    return 
    self::$db_handle;
    }
    So sieht die Funktion aus. Kommt aus dem PEAR-Packe und die Datei heißt Util.php.

    Eigentlich müßte er mir eine Fehlermeldung bringen - tut er aber nicht..

    Gebe ich nun Deinen Quelltest ein - kommt leider auch nur eine leere Seite...

    Den root ohne PW habe ich, weil er eh nur lokal verwendet wird....
     
  4. Badener

    Badener Thread Starter Gast

    So - habe es nochmal probiert und habe Deinen Quellcode direkt in die Funktion geschrieben. Als Meldung kommt dann:

    DB::connect: DB Error: not found

    Sonst passiert aber nichts :(
     
  5. oneOeight

    oneOeight MacUser Mitglied

    Beiträge:
    46.832
    Zustimmungen:
    3.633
    MacUser seit:
    23.11.2004
    warum versuchst du nicht einfach mal php-mysql bzw -mysqli?

    oder musst du evtl. in pear mysql per socket ansprechen?
    meistens ist ja bei mysql das networking deaktiviert...
     
  6. Hilarious

    Hilarious MacUser Mitglied

    Beiträge:
    2.195
    Zustimmungen:
    5
    MacUser seit:
    25.11.2004
  7. Badener

    Badener Thread Starter Gast

    @Hilarious: Ja - das ist die Lösung des Problems. Jetzt funktioniert es....

    Wow - da muß man erstmal drauf kommen :kopfkratz:

    Aber mal wieder ein herzliches "Danke" an alle - eure Hilfe und Ihr wart mal wieder SUPER!
     
Die Seite wird geladen...

Diese Seite empfehlen