• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Programmabbruch bei MySQL-Befehl

PHP Anfänger

Neues Mitglied
Hallo zusammen,
ich steige gerade in die Programmierung mit PHP und MySQL ein, und hoffe Ihr könnt mir bei meinem Problem helfen.
Ich habe Apache 2.2, PHP 5 und MySQL 5.1.
Nun stelle ich auf Localhost/site1.php folgende Seite ein:
HTML:
<html>
<body>
<script language="php">
PHP:
	print "Lese Datenbank"  ;
	 $db = php_mysql_connect("localhost", "root", "root");
	print "abc";
	echo mysql_error();
    $res = mysql_db_query("sicherheit", "select * from benutzerdaten");
   echo mysql_error();
   print "abc";
   $num = mysql_num_rows($res);
   print "$num Datensätze gefunden<br>";
   echo mysql_error();
     mysql_close($db);
HTML:
 </script>
</body>
</html>

Wenn ich die Seite nun aufrufe, wird nur "Lese Datenbank" angezeigt, kein Fehler!

Woran kann das liegen?

Vielen Dank für Eure Hilfe.
 
<script language="php"> ist eine ebenfalls korrekte Art und Weise, PHP-Code zu starten; auch in PHP 5.
Es liegt eher an der Funktion php_mysql_connect().
Diese gibt es nativ in PHP gar nicht. Sie heißt mysql_connect().

Ich würde (falls du Zugang dazu hast), dir die Fehler anzeigen lassen in der php.ini!
 
Hallo Asterixus,
vielen dank für deine Antwort!
Ich habe php_mysql_connect() auf mysql_connect() geändert.
Funktioniert leider immer noch nicht.
Wenn ich die PHP.exe starte, kommt folgende Meldung:
PHP Warning: PHP Startup: Unable to load dynamic library '.\ext\php_pdomysql.dll’ – Das angegebenen Modul wurde nicht gefunden.
In Unknown on Line 0
Und das selbe auch noch für sqlite.
Die Dateien sind aber da, also ist die .-Variable falsch eingestellt?
Kann das der Grund für den Fehler sein?
Wie kann ich das korrigieren?
Vielen Dank und viele Grüße!
 
Ich hab jetzt auch im Fehlerprotokoll nachgesehen:
[Sat Oct 30 12:50:03 2010] [error] [client 127.0.0.1] PHP Fatal error: Call to undefined function mysql_connect() in C:\\Programme\\Apache Software Foundation\\Apache2.2\\htdocs\\Site1.php on line 5
Was ist das Problem?
Wo kommen die doppelten Backslashs her?
Vielen Dank!
 
Nicht nötig.
Installiere PHP neu (also deinstallieren und neu installieren).
Wenn du dann die Module von PHP aussuchen kannst, suchst du dir dann MySQL in der Liste aus. (mysqli ist auch ganz gut!)
Also andere Module kann ich dir PDO und mbstring empfehlen.
 
Würde ich eigentlich nicht so gern machen (XAMPP installieren), da ich das irgendwann sowieso auf einen Webserver hochladen muss, auf dem ich auch nicht xampp installieren kann.
Traotzdem vielen Dank.

Es sieht jetzt im Moment so aus:
In C:\Programme\PHP\ext sind alle Erweiterungen.
Im Fehlerlog im Apache-Verzeichnis steht, das diese Dateien nicht gefunden werden können.
Die Pfadangabe ist wohl also falsch.
Die Pfadangabe muss ich in der PHP.ini setzen?
Woher weiß ich überhaupt, ob PHP au der PHP.ini die Informationen entzieht?
Nach dem Extrahieren von PHP gab es die PHP.ini nicht, nur eine PHP.ini -recommed, die hatte den Aufbau einer OHP.ini, also habe ich diese zur PHP.ini kopiert.
War das ein Fehler?
 
Zuletzt bearbeitet:
Hallo Asterixius,
da ich mit Apache 2.2 arbeite und die Apache 2_2.dll brauche, die ich in keinem Installationspacket gefunden habe,
habe ich mir einen zip-Ordner mit den PHP-Dateien heruntergeladen und extrahiert.
Ist das der Fehler?
 
Zurück
Oben