flowh: PHP will nicht zu MySQL verbinden

Hallo Miteinander!

Ich habe auf meinem Rechner (Windows XP SP 2) einen Apache(apache_2.0.55-win32-x86-no_ssl.msi) + PHP(php-5.1.2-Win32.zip) als Modul laufen. Das funktioniert auch soweit wunderbar.
Zusätzlich läuft ein MySQL-Server (5.0.19, Installer, als Service), auf den ich per shell auch wunderbar zugreifen kann.

Will ich nun aber von PHP aus mit MySQL verbinden, dann erhalte ich folgende Fehlermeldung:
"Fatal error: Call to undefined function mysql_connect() in C:\Apache Group\Apache2\htdocs\mysql.php on line 3"

Ich habe natürlich gesucht, was die Ursache dafür sein könnte, auch einiges gefunden, aber bis jetzt keinen Erfolg verzeichnet. Es ist die Zeile "extension=php_mysql.dll" in der php.ini ohne Kommentar, es wird die richtige php.ini geladen, die libmysql.dll und die php_mysql.dll sind jedem erdenklichen Verzeichnis, ...
Der einzigste Hinweis, der bis jetzt noch ungeklärt ist, ist, dass PHP mit "--with-mysql[=DIR]" kompiliert werden muss. PHP auf Windows selber zu kompilieren ist allerdings mehr als mühsam...
Meine Frage ist nun: Liegt mein Problem daran, dass meine PHP-Version nicht mit "--with-mysql..." kompiliert wurde, und wenn ja gibts es vorkompilierte Versionen von PHP 5 für Windows (ich habe bei Google nichts gefunden)?
Oder ist die Ursache meines Problems eine andere?

Vielen Dank schonmal im Vorraus!

Servus

--
flowh .
Es ist nicht deine Schuld, dass die Welt ist, wie sie ist, es wär nur deine Schuld, wenn sie so bleibt.
   - Die Ärzte
  1. Hello,

    ja, das kann daran liegen.
    Frag einfach mal mit get_defined_funtions() ab, welche zur Verfügung stehen.
    http://de2.php.net/manual/en/function.get-defined-functions.php

    Und darüberhinaus nimm doch das XAMPP-Paket von http://apchefriends.org

    Ich habe es ja sogar auf meiner Win98SE-Möhre zum Laufen gebrachracht...

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau

    1. hallo Tom,

      Und darüberhinaus nimm doch das XAMPP-Paket von http://apchefriends.org

      Nee, laß ihn mal. Es ist besser, sich den Kram selber einzeln zu installieren, dann versteht man wenigstens, wie es zusammenspielen soll/kann.

      Grüße aus Berlin

      Christoph S.

      --
      Visitenkarte
      ss:| zu:) ls:& fo:) va:) sh:| rl:|
      1. Hallo

        Und darüberhinaus nimm doch das XAMPP-Paket von http://apchefriends.org

        Nee, laß ihn mal. Es ist besser, sich den Kram selber einzeln zu installieren, dann versteht man wenigstens, wie es zusammenspielen soll/kann.

        Eben, das hab ich mir auch gedacht. Und ich hab mir auch gedacht: des kann ja nicht so schwer sein... tja... irren ist menschlich...

        Servus

        --
        flowh .
        Es ist nicht deine Schuld, dass die Welt ist, wie sie ist, es wär nur deine Schuld, wenn sie so bleibt.
           - Die Ärzte
    2. Hallo

      Hello,

      ja, das kann daran liegen.
      Frag einfach mal mit get_defined_funtions() ab, welche zur Verfügung stehen.

      Dann sehe ich, dass keinerlei mysql-Funktionen zur Verfügung stehen.
      Dies wird ja durch "called to undefined function" bestätigt.

      Servus

      --
      flowh .
      Es ist nicht deine Schuld, dass die Welt ist, wie sie ist, es wär nur deine Schuld, wenn sie so bleibt.
         - Die Ärzte
  2. hallo,

    Es ist die Zeile "extension=php_mysql.dll" in der php.ini
    Meine Frage ist nun: Liegt mein Problem daran, dass meine PHP-Version nicht mit "--with-mysql..." kompiliert wurde

    Nein.

    Oder ist die Ursache meines Problems eine andere?

    Mit allergrößter Wahrscheinlichkeit. Schau dir zunächst einmal die Ausgabe von phpinfo() an, dort müßte bei korrekter Einbindung auch etwas zu MySQL stehen - tut es bei dir vermutlich nicht. Aber du hast schon den richtigen Weg gefunden. In deiner php.ini muß zum Beispiel extension_dir auf den korrekten Pfad verweisen, und enable_dl muß auf "on" stehen.

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
    1. Hallo

      hallo,

      Es ist die Zeile "extension=php_mysql.dll" in der php.ini
      Meine Frage ist nun: Liegt mein Problem daran, dass meine PHP-Version nicht mit "--with-mysql..." kompiliert wurde

      Nein.

      Gut.

      Oder ist die Ursache meines Problems eine andere?

      Mit allergrößter Wahrscheinlichkeit. Schau dir zunächst einmal die Ausgabe von phpinfo() an, dort müßte bei korrekter Einbindung auch etwas zu MySQL stehen - tut es bei dir vermutlich nicht. Aber du hast schon den richtigen Weg gefunden. In deiner php.ini muß zum Beispiel extension_dir auf den korrekten Pfad verweisen, und enable_dl muß auf "on" stehen.

      Das habe ich vergessen zu sagen: ich habe das auch schon überprüft.
      extension_dir=c:/php/ext
      enable_dl=on
      Deswegen seh ich gerade nicht, wie ich weitermachen soll....

      Servus

      --
      flowh .
      Es ist nicht deine Schuld, dass die Welt ist, wie sie ist, es wär nur deine Schuld, wenn sie so bleibt.
         - Die Ärzte
      1. hallo,

        Es ist die Zeile "extension=php_mysql.dll" in der php.ini

        Dir ist bekannt, daß das nicht genügt? Näheres dazu unter http://de2.php.net/manual/de/ref.mysql.php

        Grüße aus Berlin

        Christoph S.

        --
        Visitenkarte
        ss:| zu:) ls:& fo:) va:) sh:| rl:|
        1. Hallo

          Es ist die Zeile "extension=php_mysql.dll" in der php.ini

          Dir ist bekannt, daß das nicht genügt? Näheres dazu unter http://de2.php.net/manual/de/ref.mysql.php

          Was muss ich denn sonst noch machen? Außer extension_dir setzen, libmysql.dll nach c:\windows, enable_dl=on, schauen, ob die richtige php.ini geparst wird?
          Das ist nämlich meines Erachtens alles korrekt.

          Servus

          --
          flowh .
          Es ist nicht deine Schuld, dass die Welt ist, wie sie ist, es wär nur deine Schuld, wenn sie so bleibt.
             - Die Ärzte
          1. hallo,

            Das ist nämlich meines Erachtens alles korrekt.

            Ja, das ist es - es ist bloß nicht genug. Du brauchst, wie du an der von mir verlinkten Fundstelle nachgelesen hast, auch noch mindestens mysqli.

            Grüße aus Berlin

            Christoph S.

            --
            Visitenkarte
            ss:| zu:) ls:& fo:) va:) sh:| rl:|
            1. Hallo

              Ja, das ist es - es ist bloß nicht genug. Du brauchst, wie du an der von mir verlinkten Fundstelle nachgelesen hast, auch noch mindestens mysqli.

              Also langsam zweifel ich an mir selbst:
              1. Ich habe MySQL so verstanden, dass ich MySQLi nur für in MySQL 5 neue Funktionen brauche, aber nicht dass MySQLi essentiell für eine Verbindung zum MySQL-Server ist.
              2. Ich habs trotzdem natürlich ausprobiert und hatte immer noch keine Erfolg ("Called to undefined function mysql_connect()..").

              Ich hab den Server zwischendrin natürlich neu gestartet...

              Ich glaub ich steh grad auf der Leitung...
              Schubst mich doch bitte runter!

              Servus

              --
              flowh .
              Es ist nicht deine Schuld, dass die Welt ist, wie sie ist, es wär nur deine Schuld, wenn sie so bleibt.
                 - Die Ärzte
              1. Hallo!

                Problem gelöst!
                Kaum kopiert man die libmysql.dll nach nach \system32, klappts auch schon!
                Danke für die Unterstützung!

                Servus

                --
                flowh .
                Es ist nicht deine Schuld, dass die Welt ist, wie sie ist, es wär nur deine Schuld, wenn sie so bleibt.
                   - Die Ärzte