MySql verbindung aber wie richtig ?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
besten alls
datei
daten
datenbank
extra
funktion
gut sicherheitsbedenken
kennung
klasse
moment
parameter
script
-
Da bei meinem Webauftritt mehrere Scripts eine MySQL-Datenbank benutzen habe ich mich vor einiger Zeit dazu durchgerungen eine eigene Classe für die DB-verbindung zu schreiben, über die alle mit der DB kommunizieren.
nun ist es aber so, dass ich nicht alles in eine DB habe sondern 3 verschiedene habe.
Da im moment die Verbindungsdaten in der classe selbst deffiniert werden, ist das nicht nur ziemlich starr, sondern auch blöd.
ich habe mir also überlegt irgendwie beim erstellen der db als parameter die Verbindungsdaten mitzuübergeben. am besten alls Array, welches ich zentral in einer Config datei Konfigurieren kann.
nun aber das Problem wenn ein Funktion nun eine Datenbankverbindung braucht muss diese also zuerst ein classe mysql_db() erstellen. dh. ich müsste jeder Funktion die mit der DB komuniziert auch diese Daten übergeben, damit diese sie weiter an die Classe reichen können. was aber ziemlich umständlich ist.
Wie kann ich das vereinfachen ?
Die verbindungsdaten also Globale Variablen verwenden ?
ist sowas gut (sicherheitsbedenken?)
oder was mir jetzt auch noch eingefallen ist,
die Classe mysql_db(); global zu definieren.
so das diese in allen funktionen sowieso erreichbar ist.
nur wie ändere ich dann die DB auf die zugegriffen werden soll?
class mysql_db { var $host= ""; var $user = ""; var $pw = ""; var $db = ""; function db($host, $user, $pw, $db) { $this->setHost($host); $this->setUser($user); $this->setPW($pw); $this->setDB($db); $this->verbinden(); $select = mysql_select_db($this->db,$this->connect); if (!$select) { die ('Kann '.$this->Ddb' nicht benutzen : ' . mysql_error()); } } function verbinden() { STATIC $connect; if(!$connect){ $connect= mysql_connect($this->host,$this->user,$this->pw); } $this->connect=&$connect; } .... ... ... }
wie macht ihr das? wie sieht eure habt ihr auch ne classe dafür wie sieht die bei euch aus ? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
1) Wieso hast du deine Daten auf 3 Datenbanken verteilt? Allein das ist schon grausam.
2) Ich denke ich würde eine extra Klasse/Config anlegen die jeweils mit den Datenbank Kennungen ausgestattet sind und für alle 3 beim starten des Scriptes eine Verbindung aufbauen, denn wenn du bei jeder Abfrage erst die Verbindung aufbauen musst, kannst du die Site gleich in die TOnne werfen. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage