MySQL-Query ausführen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MySQL-Query ausführen

    Hi,

    einer mit dem ich jetzt zusammen programmiere meint, ihm hätte ein erfahrener PHP Programmierer gesagt, dass es "sauberer" wäre, für jeden Query die DB verbindung zu öffnen, den query auszuführen und dann die db zu schliessen.

    Ich selbst öffne immer am anfang der datei mit require('mysql.inc.php'); und schliese am ende der hauptdatei...

    Wollte mal fragen wie ihr das handhabt...


    An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

  • #2
    Re: MySQL-Query ausführen

    Original geschrieben von MaxP0W3R
    einer mit dem ich jetzt zusammen programmiere meint, ihm hätte ein erfahrener PHP Programmierer
    der freund eines bekannten der schwester der mutter meiner freundin hat gesagt, er kenne da jemanden, der den bruder des schwagers der nichte...

    es [sei] "sauberer" [...], für jeden Query die DB verbindung zu öffnen, den query auszuführen und dann die db zu schliessen.
    weil?
    sauberer als?
    ich persönlich finde es schwachsinnig, warum solltest du die verbindung zur datenbank schließen wollen, nur um sie 2 befehle später wieder herzustellen?

    Ich selbst öffne immer am anfang der datei mit require('mysql.inc.php'); und schliese am ende der hauptdatei...
    ich öffne mit
    PHP-Code:
    $db = &new db(DB_USERDB_PASSDB_DATABASE); 
    das schließen macht die klasse von ganz alleine

    wichtig ist nur, dass du die verbindung zur datenbank wieder schließt, sobald du keine datenbankfunktionalität im skript mehr brauchst
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      ich nehme mal an das schliessen macht der destruktor

      ja, also so ganz konnte ich nich glauben dass das gut sein soll...


      An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

      Kommentar


      • #4
        Original geschrieben von MaxP0W3R

        ich nehme mal an das schliessen macht der destruktor
        nein, das macht register_shutdown_function, konnte kein php klasse erstellen mangels vorhandensein von php 5

        ja, also so ganz konnte ich nich glauben dass das gut sein soll...
        ich auch nicht, aber lass dir mal den grund nennen, ich bin ja schließlich auch nicht über jeden zweifel erhaben
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Die Verbindung 1 mal am Anfang öffen und bei nicht mehr Gebrauch schliessen oder spätestens dann wenn Scriptende erreicht ist, dann ist es gut. Viel wichtiger ist, den Speicher sofort freizugeben (mysql_free_result), wenn man sie nicht mehr braucht.

          Kommentar


          • #6
            Original geschrieben von asp2php
            oder spätestens dann wenn Scriptende erreicht ist,
            An dieser Stelle schliesst php die Verbindung ... Und das ganz ohne freundliches Nachhelfen durch mysql_close()
            h.a.n.d.
            Schmalle

            http://impressed.by
            http://blog.schmalenberger.it



            Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
            ... nur ohne :-)

            Kommentar


            • #7
              nicht immer

              außerdem is mysql_close da, wo ich die datenbank nicht mehr brauche, sowieso sinnvoller als das erst am ende zu machen (persönliche meinung)
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                Original geschrieben von schmalle
                An dieser Stelle schliesst php die Verbindung ... Und das ganz ohne freundliches Nachhelfen durch mysql_close()
                Anfänger

                Schon mal von sauberes Coden gehört?

                Kommentar


                • #9
                  Original geschrieben von mrhappiness
                  nicht immer
                  wann nicht?
                  außerdem is mysql_close da, wo ich die datenbank nicht mehr brauche, sowieso sinnvoller als das erst am ende zu machen (persönliche meinung)
                  Ich habe nichts anderes behauptet. Ich wollte nur erwähnen, dass am Ende die Verbindung eh´geschlossen wird.

                  @asp Sei doch bitte ruhig
                  h.a.n.d.
                  Schmalle

                  http://impressed.by
                  http://blog.schmalenberger.it



                  Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                  ... nur ohne :-)

                  Kommentar


                  • #10
                    Original geschrieben von schmalle
                    wann nicht?
                    Code mal auf einem Windows OS, irgendwann hast du 100% Prozessor-Auslastung und weisst nicht warum , ob linux in der Hinsicht auch mal so verhält ...

                    Kommentar


                    • #11
                      Original geschrieben von asp2php
                      Code mal auf einem Windows OS,
                      Wer macht denn sowas?
                      h.a.n.d.
                      Schmalle

                      http://impressed.by
                      http://blog.schmalenberger.it



                      Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                      ... nur ohne :-)

                      Kommentar


                      • #12
                        Original geschrieben von schmalle
                        Wer macht denn sowas?
                        die Profis

                        Kommentar


                        • #13
                          Original geschrieben von asp2php
                          die Profis
                          h.a.n.d.
                          Schmalle

                          http://impressed.by
                          http://blog.schmalenberger.it



                          Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                          ... nur ohne :-)

                          Kommentar


                          • #14
                            Original geschrieben von schmalle
                            wann nicht?
                            ich hab mal sinngemäß sowas in der art gelesen
                            Original geschrieben von unbekannt (sinngemäße Wiedergabe)Es gibt zwei Arten von MySQL Einbindungen in PHP. Die eine ist "build-in" und die andere ist "external". bei der Version build-in, wird die Verbindung getrennt wenn das Skript geschlossen wird. bei "external" eben nicht.
                            inwieweit das stimmt weiß ich allerdings nicht, würde allerdings zu
                            Original geschrieben von http://www.php.net/manual/ref.mysql.php
                            Seit PHP 4 ist --with-mysql im Standard aktiviert. Um PHP ohne MySQL Unterstützung zu kompilieren müssen Sie --without-mysql verwenden. Ebenfalls für PHP 4 gilt: falls Sie mit MySQL Unterstützung kompilieren und den Pfad zum Quellverzeichnis von MySQL (DIR) nicht angeben, verwendet PHP die internen MySQL-Client Bibliotheken. Unter Windows gibt es keine DLL, die Unterstützung für MySQL ist in PHP 4 enthalten. Verwenden Sie andere Anwendungen, die MySQL ebenfalls nutzen (zum Beispiel auth-mysql) sollten Sie nicht die interne Bibliothek benutzen, sondern den Pfad zum MySQL Installationsverzeichnis wie folgt angeben: --with-mysql=/pfad/zu/mysql. Diese Angabe zwingt PHP die Client-Bibliotheken zu nutzen, die von MySQL installiert wurden. Diese Vorgehensweise vermeidet jegliche Konflikte.
                            passen fnde ich
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Kommentar


                            • #15
                              PHP5 is ja klar -> Destruktor

                              ansonsten wie gehabt mit der hand nach dem letzten query schliessen...


                              An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

                              Kommentar

                              Lädt...
                              X