TDM Geschrieben 11. März 2005 Geschrieben 11. März 2005 hi, ich habe heut ein PHP-SQL script geschrieben und folgenden Fehler bekommen: Fatal Error: Call to undefined function: () in C:\wwwroot\sql_tst.php4 on line 10 hier der dazu gehörige quelltext: <?php $link = mysql_connect('localhost', 'mein_acc', 'mein_pw'); if (!$link) { die('keine Verbindung möglich: ' . mysql_error()); } echo 'Verbindung erfolgreich'; mysql_close($link); ?> weis einer woran das liegen könnte ? weil ich hab irgentwo gelesen dass sql in PHP 4 automatisch schon eingebunden wäre (hab PHP 4.3.9. und MySQL 4.1.9) Zitieren
Himmi Geschrieben 11. März 2005 Geschrieben 11. März 2005 hi, schau doch einfach mal in deiner php.ini nach, ob in dem abschnitt extensions die datei "php_mysql.dll" ordentlich drin steht. Standardmäißg ist die meinstens auskommentiert. Ansonsten könntest du noch schauen ob in der php.ini der Pfad zu den extensions korrekt eingestellt ist. Himmi Zitieren
TDM Geschrieben 11. März 2005 Autor Geschrieben 11. März 2005 also in der php.ini steht nur php_mssql.dll und php_msql.dll drin (auch noch andere dlls...) aber die php_mysql.dll fehlt einfach hinzufügen ? oder gibt das dann nen fehler O.o' Zitieren
Himmi Geschrieben 11. März 2005 Geschrieben 11. März 2005 also eigentlich kannst du die einfach einfügen, vorraussetzung ist natürlich das die datei auch in deinem extensions dir ist. Aber eigentlich sollte sie. Wenn nicht musst dir dir mal von php.net das komplette PHP 4 packet als zip runterladen (das setup enthält nämlich nicht alle extensions etc) dann kopierst du die datei ins extensions dir und trägst sie in die php.ini ein . Sollte dann gehen Himmi Zitieren
TDM Geschrieben 11. März 2005 Autor Geschrieben 11. März 2005 was ist denn der standart pfad für die dlls ? dann guck ich halt erst nach bevor ich mich dem packet widme Zitieren
Himmi Geschrieben 11. März 2005 Geschrieben 11. März 2005 standardmäig bei php ists eigentlich C:\Verzeichniss in das du PHP installiert hast\ext oder C:\Verzeichniss in das du PHP installiert hast\extensions aber der Pfad steht wie gesagt auch im oberen Teil deiner php.ini drin. Himmi Zitieren
TDM Geschrieben 11. März 2005 Autor Geschrieben 11. März 2005 ok, die datei gibts nicht... ich lad das ding jetzt mal runter - bräucht ich doch theorethisch nur die dll einfügen oder ? Zitieren
Himmi Geschrieben 11. März 2005 Geschrieben 11. März 2005 genau, dll reinkopieren, eintrag in die php.ini schreiben (einfach bei extensions einfügen. Dann sollte es gehen. Kann aber sein das noch ne libmysql.dll fehlt (das würde dann dein webserver aber anmeckern). Achja neustart vom server bitte net vergessen Himmi Zitieren
kills Geschrieben 11. März 2005 Geschrieben 11. März 2005 genau, dll reinkopieren, eintrag in die php.ini schreiben (einfach bei extensions einfügen. Dann sollte es gehen. Kann aber sein das noch ne libmysql.dll fehlt (das würde dann dein webserver aber anmeckern). Achja neustart vom server bitte net vergessen Himmi Die Mysql.dll ist build-in und muss nicht in der ini angegeben werden, bzw. im extension dir liegen.... Ist dein php mit -with mysql compiliert? Gruß, Markus Zitieren
Himmi Geschrieben 11. März 2005 Geschrieben 11. März 2005 das ist kein linux sondern ne Windows Version @ kills , da muss das im extensions dir sein. Zumindest bei PHP5 aber ich weis net warums bei PHP4 anders sein sollte. edit: Hab mich grad mal belesen, also bei PHP4 müsste es wirklich schon mit einkompiliert sein. Bei PHP5 jedoch ist das nicht der Fall und man muss die MySQL Erweiterungen über die Extensions laden. Mein Fehler Quelle:http://uk.php.net/manual/de/ref.mysql.php Himmi Zitieren
kills Geschrieben 11. März 2005 Geschrieben 11. März 2005 Zitat aus der PHP.ini eines Windows Webservers: ;Windows Extensions ;Note that MySQL and ODBC support is now built in, so no dll is needed for it. Zitieren
TDM Geschrieben 11. März 2005 Autor Geschrieben 11. März 2005 öhm O.o' ich hab mir jetzt das packet 4.3.10 runtergeladen ( http://de.php.net/get/php-4.3.10-Win32.zip/from/a/mirror ) und da war keine php_mysql.dll dabei falsches file? edit: ok stimmt kills, aber normal: "Seit PHP 4 ist --with-mysql im Standard aktiviert. Um PHP ohne MySQL Unterstützung zu kompilieren müssen Sie --without-mysql verwenden. Ebenfalls für PHP 4 gilt: falls Sie mit MySQL Unterstützung kompilieren und den Pfad zum Quellverzeichnis von MySQL (DIR) nicht angeben, verwendet PHP die internen MySQL-Client Bibliotheken. Unter Windows gibt es keine DLL, die Unterstützung für MySQL ist in PHP 4 enthalten. Verwenden Sie andere Anwendungen, die MySQL ebenfalls nutzen (zum Beispiel auth-mysql) sollten Sie nicht die interne Bibliothek benutzen, sondern den Pfad zum MySQL Installationsverzeichnis wie folgt angeben: --with-mysql=/pfad/zu/mysql. Diese Angabe zwingt PHP die Client-Bibliotheken zu nutzen, die von MySQL installiert wurden. Diese Vorgehensweise vermeidet jegliche Konflikte." Zitieren
Himmi Geschrieben 11. März 2005 Geschrieben 11. März 2005 jo, siehe edit mach die mal ne php datei mit dem inhalt "phpinfo();" und führ die mal aus. Da sollte dann stehen ob der MySQL Support mit reinkompiliert ist oder net. HImmi Zitieren
TDM Geschrieben 11. März 2005 Autor Geschrieben 11. März 2005 $phpinfo() kennt er auch nicht O.o' Zitieren
Himmi Geschrieben 11. März 2005 Geschrieben 11. März 2005 es heißt ja auch nicht "$phpinfo();" sondern "phpinfo();" Zitieren
TDM Geschrieben 11. März 2005 Autor Geschrieben 11. März 2005 MYSQL Support enabled <-- das ? :-/ Zitieren
Himmi Geschrieben 11. März 2005 Geschrieben 11. März 2005 jo, also ists aktiviert. Dann Poste doch mal die komplette php datei die net funzt, nicht nur den ausschnitt. Himmi Zitieren
TDM Geschrieben 11. März 2005 Autor Geschrieben 11. März 2005 <html> <head> <title>tst</title> </head> <body> <?php $link = mysql_connect('localhost', 'mein_acc', 'mein_pw'); if (!$link) { die('keine Verbindung möglich: ' . mysql_error()); } echo 'Verbindung erfolgreich'; mysql_close($link); ?> </body> </html> war ja nur ne test datei O.o' Zitieren
Himmi Geschrieben 11. März 2005 Geschrieben 11. März 2005 sehr komisch also am Code kanns net liegen, denn bei mir funktioniert er so wie du ihn hier gepostet hast. Hast du vielleicht ne ziemlich alte PHP4 Version? Kannst ja auch auf PHP 5 umsteigen (da gehts bei mir wie gesagt). sehr komisch.... Zitieren
kills Geschrieben 11. März 2005 Geschrieben 11. März 2005 poste mal die vollständige fehlermeldung.... Im 1. Post fehtl das was vor dem "()" Zitieren
TDM Geschrieben 14. März 2005 Autor Geschrieben 14. März 2005 ich hab den alten fehler jetzt behoben, allerdings kommt jetzt das: Warning mysql_connect(): Client does not support authentication protokoll request by serve, consider upgrading MySQL client naja, zumindest kennt er die funktion jetzt... :X wo muss ich das jetzt einstellen ? Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.