Wo lege ich DB-Zugriffsdatei (connect.php) ab?

Hallo zusammen,

kurze Frage zur Mysql Datenbankprogrammierung…

Den Connect-Befehl:
$sql = mysql_connect(„host“, „user“, „passwort“) or die („MySQL-Fehler: Verbindung zum Datenbankserver fehlgeschlagen!“);
mysql_select_db(„datenbank“) or die („MySQL-Fehler: Datenbank nicht gefunden“);

…möchte ich gerne in eine externe Datei, z.B. connect.php auslagern.

  1. damit ich ihn beliebig oft verwenden kann
  2. in einen geschützten Webordner, da das Passwort meiner DB hier ja offen liegt…

Zwei Fragen daher:

  1. Welcher Ordner ist das??? cgi-bin?
  2. mit welchem Befehl binde ich die Datei dann an beliebiger Stelle ein? (include???)

Lieben Dank & Gruß,
Lisa

Hallo zusammen,

kurze Frage zur Mysql Datenbankprogrammierung…

Den Connect-Befehl:
$sql = mysql_connect(„host“, „user“, „passwort“) or die
(„MySQL-Fehler: Verbindung zum Datenbankserver
fehlgeschlagen!“);
mysql_select_db(„datenbank“) or die („MySQL-Fehler: Datenbank
nicht gefunden“);

…möchte ich gerne in eine externe Datei, z.B. connect.php
auslagern.

  1. damit ich ihn beliebig oft verwenden kann

Gute Idee.

  1. in einen geschützten Webordner, da das Passwort meiner DB
    hier ja offen liegt…

Macht nix, der Code des Scripts wird ja interpretiert und nie zum Browser ausgegeben. Verzeichnisschutz macht da keinen Unterschied …

Zwei Fragen daher:

  1. Welcher Ordner ist das??? cgi-bin?

cgi-bin ist für CGI. Geschützte Verzeichnisse können jeden Namen haben, sie müssen nur per .htaccess entsprechend konfiguriert sein. Brauchst du aber wie gesagt nicht.

  1. mit welchem Befehl binde ich die Datei dann an beliebiger
    Stelle ein? (include???)

Richtig, include. Wenn du sichergehen willst, dass auch alles eingebunden wird, benutzt du require(). Da es Sinn macht, die Verbindung nur einmal im selben Skriptlauf herzustellen, vielleicht sogar require_once().

Noch ein Link zu PHP und MySQL allgemein: http://www.php-q.net/

Grüße,
Nik

Äh, Moment, was schreibe ich denn hier … Wieso willst du das überhaupt so umständlich machen?

function my_connect() {
@mysql_connect($host, $user, $pass) Or die(’…’);
@mysql_select_db($db) Or die(’…’);
}

Und dann brauchst du später nur myconect() aufrufen.

So macht man das eigentlich …

Hallo Dominik,

Macht nix, der Code des Scripts wird ja interpretiert und nie
zum Browser ausgegeben. Verzeichnisschutz macht da keinen
Unterschied …

nur zur Ergänzung: Das ist der Fall, wenn die inkludierte Datei die Erweiterung .php (oder eine andere, die serverseitig interpretiert wird) hat. Wenn die Dateiendung jedoch beispielsweise .inc lautet (was oft zu beobachten ist), sieht’s anders aus. Gibt man den Pfad zur inkludierten Datei in den Browser ein, wird in diesem Fall der PHP-Quelltext angezeigt, inklusive aller Passwörter. Das sollte man beachten.

LG
Huttatta