PHP mysql_connect

Dennis Wronka hat gesagt.:
Ob Du nun <? oder <?php schreibst sollte sich eigentlich weniger darauf auswirken ob mit MySQL verbunden werden kann sondern eher, je nach Einstellung in der php.ini ob das Script ausgefuehrt wird oder nicht.

Hattest Du vorher kein Passwort angegeben? Aber selbst wenn sollte es dann doch eigentlich eine Fehlermeldung geben. :confused:

Ich hatte auch nicht erwartet dass es daran liegt - das hab ich nur gemacht, damit mein Editor PHP Code Highlighting aktiviert und ich so vielleicht auf Syntax-Fehler aufmerksam werde.

@Apon: Kein Problem. Versuch mal ob das Script auf deinem/einem Webserver läuft.

PS.: Vielleicht braucht das Script auch erst einen Kaffee - könnts verstehen, wenns einfach noch zu früh is für eine mySQL Connection. Wahrscheinlich is einfach noch keiner da zu so unchristlicher Stunde. Versuchs nochmal gegen halb 10 :-)
 
Zuletzt bearbeitet:
Hab es jetzt mal auf dem Webserver ausprobiert und siehe da es ward am Verbinden.

Aber das hilft mir ja auch nicht viel weiter. Will ja nicht immer online "rumspielen".

Apon
 
Hast du schon PHPs Fehlersensbilität hochgesetzt?
PHP:
<?php

	ini_set('display_errors', 1);
	ini_set('error_reporting', E_ALL);

	…

?>
 
Hallo Gumbo,
hatte ich bisher noch nicht. Aber jetzt und es kommt auch eine Fehlermeldung:

Fatal error: Call to undefined function mysql_connect() in C:\www\webroot\Lesson6\lesson6.php on line 20

Line 20:
PHP:
 if(mysql_connect($host, $user, $pw))

Apon
 
Also wenn PHP die Funktion nicht kennt, dann kann es sein das die mysql-Erweiterung nicht geladen wird. Schau mal in der php.ini bei den Extensions nach ob die Zeile

extension=php_mysql.dll

eingetragen ist (es darf kein Semikolon am Anfang der zeile stehen). Vielleicht hasst du aber auch nur die mysqli-Extension geladen. Hast due es schon mal mit mysqli_connect versucht?
 
Selektier mal dazu noch Deinen Datenbanknamen...

Code:
mysql_select_db($dbname);

Wenn das nicht klappt nimm einfach diesen hier und versuch es damit. Hab es eben probiert und läuft Einwandfrei.

PHP:
<?
 $dbname="dbname";   
    $dbhost="localhost";   
    $dbuser="dbuser";   
    $dbpass="passwort";
    
    mysql_connect($dbhost,$dbuser,$dbpass);   
    mysql_select_db($dbname);
 ?>

Fehlermeldungen kannst dann ja selber schreiben ;)

Hoffe hat Dir geholfen, viel Glück!

EDIT: Hups entschuldigt, war noch müde, hatte das Thema wohl zu schnell überflogen ;) Naja vielleicht bringts ja doch was ?!
 
Zuletzt bearbeitet:
@ZeroEnna,

es funktioniert mit mysqli_connect().

Also habe ich die mysqli-Extention geladen. Hat das irgendwelche Nachteile? Sollte ich das ändern?

Apon

Hab' nun in der php.ini die Erweiterung auf php_mysql.dll gestellt. So haben es wohl die meisten und dann wird es schon passen.
 
Zuletzt bearbeitet:
Ändern musst du das nicht, denn die mysqli-Extension ist eine verbesserte Version der mysql-Extension.
Sie ist aber nur verfügbar wenn man mindestens PHP 5.0 und MySQL 4.1 zu Verfügung hat.
Wenn du also willst das dein Script abwärtskompatibel ist, solltest du auf die mysql-Extension umsteigen (einfach die Zeile: extension=php_mysql.dll in die php.ini einfügen).

Genaueres über die mysqli-Extension erfährst du hier:
http://php.benscom.com/manual/de/ref.mysqli.php
 
Danke nochmal ZeroEnna.

Hab' es jetzt schon umgestellt. So fällt es mir wahrscheinlich leichter mir PHP und MySQL anzueignen, da wohl die Mehrheit mit der mysql-Extention arbeitet.

@all

Danke für eure Hilfe, bis zum nächsten Problem. :-)

MfG Apon
 
Zurück