![]() |
AW: [PHP] Klassenstruktur für Adressdatenbank
Ein kleines Verständnisproblem hab eich noch.
PHP-Quellcode:
so stelle ich die Verbindung zur Datenbank her.
private static function connect_mysql() {
$connection = mysql_connect($dbserver, $user, $password); if ($connection == false) { die(mysql_error()); } $db = mysql_select_db("usr_l3s11195_1"); if ($db == false) { die(mysql_error()); } $registry = Registry::getInstance(); $registry->db = } Was muss ich jetzt in $register->db speichern, damit ich so $this->db->query('SELECT NOW() AS `now`'); den Query erstellen kann? Und bei $this->resultset = mysql_query($query); schreibe ich dann: $this->resultset = mysql_query(Registry::getInstance()->get('db')); ? |
AW: [PHP] Klassenstruktur für Adressdatenbank
Wenn du PDO schon nicht magst, dann steig doch wenigstens von MySQL auf MySQLi (improved?) um. Das ist quasi das gleiche, aber als objektorientiertes API. Anleitung dazu findest du direkt unter php.net. Schau einfach wie's in meinem Code aussieht, du wirst sehen, dass es fast das gleiche ist. Nur objektoriertiert. :)
(Edit: Nur um das nochmal zu erwähnen. Es ist lediglich ein etwas anders aufgebautes API, MySQL usw. ist nach wie vor das gleiche. Die Umstellung sollte wirklich leicht sein.) Liebe Grüße, Valentin |
AW: [PHP] Klassenstruktur für Adressdatenbank
Bei meinem Webhoster habe ich nur MySQL. Es wäre für mich am einfachsten, das erst mal mit meiner Vorstellung zum Laufen zu bringen. Das ist eh so ein Übungsprojekt, an dem ich immer weiter lernen. aber in kleinen schritten.
|
AW: [PHP] Klassenstruktur für Adressdatenbank
Zitat:
Ansonsten lass die gesamte Registry weg und mach einfach mysql_connect und mysql_query wie immer. Eine Connection als Variable brauchst du dann nicht mehr. Allerdings ist das ziemlich dämlich sich einen geilen ORM zu basteln und dann die alten prozedualen MySQL-Funktionen zu verwenden. Liebe Grüße, Valentin |
AW: [PHP] Klassenstruktur für Adressdatenbank
OK. Das wäre dann der Übernächste Schritt. Ich habe mal im Code geguckt. In Contact.php benutze ich $connection gar nicht. Ich müsste also gar nichts speichern in der Registry, sehe ich das richtig? Ich brauche kleine Schritte zum Lernen, wie gesagt.
|
AW: [PHP] Klassenstruktur für Adressdatenbank
Auch wenn ich das nicht für schlau halte; aber ja, das ist dann der richtige Weg. Schrieb ich ja eben schon.
Liebe Grüße, Valentin |
AW: [PHP] Klassenstruktur für Adressdatenbank
Geil. Funktioniert. Ihc habe jetzt die $connection in der registry gespeichert:
PHP-Quellcode:
(Ich habe es auch etwas umbenannt, weil es für mich sinnvoller war.)
include_once("Registry.php");
abstract class DBInit { private static function connect_mysql() { include_once("config.php"); echo "Server: ".$dbserver; $connection = mysql_connect($dbserver, $user, $password); if ($connection == false) { die(mysql_error()); } $db = mysql_select_db("usr_l3s11195_1"); if ($db == false) { die(mysql_error()); } $registry = Registry::getInstance(); $registry->db = $connection; } public static function connect() { register_shutdown_function("DBInit::shutdown"); self::connect_mysql(); } public static function shutdown() { mysql_close(Registry::getInstance()->db); } } Nur bekomme ich nach jeder Abfrage doch ein "Connection closed". Ich dachte, man sollte nicht jedes mal die Verbindung trennen? OK, für mich: - Exceptions: Done - Verbindung ausgelagert: Done Nächstes Ziel: Abfragen mit Parametern. |
AW: [PHP] Klassenstruktur für Adressdatenbank
Du musst noch bei mysql_select_db den Link angeben.
Außerdem dann auch beim mysql_query. Wie wär's wenn du erstmal schaust, dass du die statischen Methoden klar machst? Wenn du magst kann ich dir heute Nachmittag ein Beispiel dazu schreiben. :) Liebe Grüße, Valentin |
AW: [PHP] Klassenstruktur für Adressdatenbank
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
PHP-Quellcode:
$query = ....;
myql_query(!query); Zitat:
Im Anhang mal das ganze Projekt, damit du dir einen Überblick verschaffen kannst. |
AW: [PHP] Klassenstruktur für Adressdatenbank
Bin noch nicht dazu gekommen daran weiter zu arbeiten. Ist also noch der aktuelle Stand.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz