Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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)

Geschrieben

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

Geschrieben

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'

Geschrieben

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

Geschrieben

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

Geschrieben

ok, die datei gibts nicht...

ich lad das ding jetzt mal runter - bräucht ich doch theorethisch nur die dll einfügen oder ?

Geschrieben

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

Geschrieben
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

Geschrieben

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

Geschrieben

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.

Geschrieben

ö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."

Geschrieben

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

Geschrieben

<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'

Geschrieben

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....

Geschrieben

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 ?

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...