frankx: Unübersichtlich und „aufgeblähter" Code?

Beitrag lesen

Ahoi dedlfix

Tach!

>        // Datensatz aus der Datenbank auslesen
>       $stmt = $mysqli->prepare("SELECT h_id, h_titel, h_titelURL, h_status FROM >web_hersteller WHERE h_id=?");
>        $stmt->bind_param("s", $hersteller);
>        $stmt->execute();
>        $stmt->bind_result($h_id, $h_titel, $h_titelURL, $h_status);
>        $stmt->fetch();
>        $stmt->close();

wäre etwas, was ich in eine Funktion auslagern würde - es wird ja vermutlich im gesamten Projekt mehrere DB-Abfragen geben, Parameter sql-Statement, die bind-params und die bind_results (letztere zwei als Array/Objekt) ...

Da gibt es nur ein ganz unschönes Problem. bind_param() und bind_result() binden per Referenz. Und es ist nicht sehr einfach, ein Array mit variabler Elementeanzahl per Referenz übergeben funktionierend hinzubekommen. Das heißt, es geht schon, aber nur mit Trick 17 von hinten durch die Brust ins Auge. Übersichtlich und verständlich sieht anders aus. Am besten ist es, auf PDO zu wechseln, da ist das deutlich anwenderfreundlicher gelöst und man bekommt die Werte zurückgeliefert, ohne dass man vorher sozusagen Variablen abgeben muss, die dann gefüllt werden.

Dieses Binding in der mysqli-Extension ist nur was für sofortige Verwendung. Auslagern in eine Funktion ist zwar grundsätzlich keine schlechte Idee, aber in dem Fall sollte man lieber drauf verzichten (oder zugunsten von PDO auf mysqli).

Oder http://framework.zend.com/manual/current/en/modules/zend.db.table-gateway.html

und selektiv einbinden mit

require_once $config["libPath"] . "/Zend/Loader/StandardAutoloader.php";
$loader = new Zend\Loader\StandardAutoloader(array('autoregister_zf' => true));

Dank und Gruß,

bob from berlin

0 69

Unübersichtlich und „aufgeblähter" Code?

Jnnbo
  • php
  1. 0
    frankx
  2. 0
    dedlfix
    1. 0
      Auge
      • meinung
      • php
      1. 0
        dedlfix
  3. 0
    Jörg Reinholz
    1. 0
      frankx
    2. 0
      Jörg Reinholz
      • programmiertechnik
      1. 0
        Jnnbo
        1. 0
          Jörg Reinholz
          1. 0
            Gunnar Bittersmann
            1. 0
              dedlfix
            2. 0
              Jörg Reinholz
      2. 0
        frankx
        1. 0
          Jörg Reinholz
        2. 0
          Auge
          1. 0
            Gunnar Bittersmann
      3. 1
        dedlfix
      4. 0
        Gunnar Bittersmann
        1. 2
          Christian Kruse
    3. 1
      Auge
      • meinung
      • php
    4. 0
      Gunnar Bittersmann
      1. 0
        Jörg Reinholz
        1. 0

          Curly Braces und Coding Style

          frankx
          1. 1
            Der Martin
            1. 1
              Sven Rautenberg
              1. 0
                Tabellenkalk
                1. 0

                  Curly Braces und Coding Style - Leerzeichen oder neue Zeile?

                  frankx
                  1. 0
                    Tabellenkalk
                    • php
                    • programmiertechnik
                    1. 0
                      frankx
                      1. 0

                        Curly Braces und Coding Style - PHP Coding Standards Fixer

                        frankx
                    2. 1
                      Sven Rautenberg
                      1. 0
                        dedlfix
                        1. 0
                          Sven Rautenberg
                          1. 0
                            dedlfix
  4. 0
    Auge
    1. 0
      Jnnbo
      1. 1
        Christian Kruse
        1. 0
          Jnnbo
          1. 1
            Christian Kruse
        2. 0
          Gunnar Bittersmann
          • programmiertechnik
          1. 0
            Christian Kruse
      2. 0
        Jörg Reinholz
        1. 0
          Jnnbo
          1. 0
            Jörg Reinholz
            1. 0
              Jnnbo
              1. 0
                Sven Rautenberg
                1. 0
                  BaBa
                  1. 0
                    Gunnar Bittersmann
                    1. 2
                      Christian Kruse
                    2. 0
                      Sven Rautenberg
                      1. 0
                        dedlfix
                        1. 0
                          Gunnar Bittersmann
                          1. 0
                            dedlfix
                        2. 0
                          Gunnar Bittersmann
                          1. 0
                            dedlfix
                          2. 0
                            Gunnar Bittersmann
                            • menschelei
                            1. 1
                              Der Martin
                              1. 0
                                Gunnar Bittersmann
    2. 0
      frankx
  5. 0
    frankx
    1. 0
      Jnnbo
      1. 0
        dedlfix
      2. 0
        frankx
  6. 0
    MudGuard
    1. 0
      Jnnbo
      1. 0
        MudGuard
    2. 0
      dedlfix
      1. 0
        frankx