Delphi-PRAXiS
Seite 3 von 7     123 45     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Klassenstruktur für Adressdatenbank (https://www.delphipraxis.net/166235-%5Bphp%5D-klassenstruktur-fuer-adressdatenbank.html)

Luckie 9. Feb 2012 22:10

AW: [PHP] Klassenstruktur für Adressdatenbank
 
Ein kleines Verständnisproblem hab eich noch.

PHP-Quellcode:
      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 =
      }
so stelle ich die Verbindung zur Datenbank her.

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')); ?

Valle 9. Feb 2012 22:26

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

Luckie 9. Feb 2012 22:29

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.

Valle 9. Feb 2012 22:33

AW: [PHP] Klassenstruktur für Adressdatenbank
 
Zitat:

Zitat von Luckie (Beitrag 1150236)
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.

Mal ganz ehrlich: Ich glaube kaum dass dein Hoster kein MySQLi hat. Das ist standardmäßig bei der PHP-Linux-Installation dabei. MySQLi ist nur die Bibliothek dazu. Der MySQL Server ist genau der gleiche. Also sicher dass es kein MySQLi gibt? Einfach mal "$bla = new mysqli(...);" austesten. Wenn das wirklich nicht geht, dann rate ich dir von ganzen Herzen von diesem Provider ab! Aber ich glaube eher dass du da was verwechselst.

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

Luckie 9. Feb 2012 22:40

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.

Valle 9. Feb 2012 22:41

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

Luckie 9. Feb 2012 23:52

AW: [PHP] Klassenstruktur für Adressdatenbank
 
Geil. Funktioniert. Ihc habe jetzt die $connection in der registry gespeichert:

PHP-Quellcode:
   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);
      }

   }
(Ich habe es auch etwas umbenannt, weil es für mich sinnvoller war.)

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.

Valle 10. Feb 2012 09:18

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

Luckie 10. Feb 2012 10:13

AW: [PHP] Klassenstruktur für Adressdatenbank
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Valle (Beitrag 1150268)
Du musst noch bei mysql_select_db den Link angeben.
Außerdem dann auch beim mysql_query.

Bitte mal zeigen. Und in der Kontaktklasse benötige ich nichts aus DBInit. Das geht auch so:
PHP-Quellcode:
$query = ....;
myql_query(!query);

Zitat:

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. :)
OK. Und ich bin keine Frau, ich mag immer. ;)

Im Anhang mal das ganze Projekt, damit du dir einen Überblick verschaffen kannst.

Luckie 11. Feb 2012 13:43

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 15:12 Uhr.
Seite 3 von 7     123 45     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz