Neues Problem mit Datenbankabstraktion..explizit mit den bind-parameters

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

  • Neues Problem mit Datenbankabstraktion..explizit mit den bind-parameters

    Also...ich habe gerade mal festgestellt, dass keine bind_parameters mit einem Wert höher als 9 verkraftet werden, imho...so funtzt es nicht:
    PHP-Code:
        public function execute(){
            
    $binds func_get_args();
            foreach (
    $binds as $index => $name){
                
    $this->binds[$index 1] = ''$name .'';
            }
            
    $cnt count($binds);
            
    $query $this->query;
            foreach (
    $this->binds as $ph => $pv){
                
    $query str_replace(":".$ph,"'"mysql_real_escape_string($pv) ."'"$query);
            }
            print 
    $query;
            
    $this->result mysql_query($query$this->dbh);
            if(!
    $this->result){
                require_once(
    FS_LIB_ROOT.DS.'database'.DS.'mysql'.DS.'mysql_exception.php');
                throw new 
    MysqlException;
            }
        } 
    Hab mir überlegt, das ganze mit preg_replace umzumodeln... falls jemand eine bessere Idee hat... kundtun
    Danke im Vorraus, Dennis
    Zuletzt geändert von Bersi667; 10.11.2007, 16:52.
    Musik beflügelt unseren Geist

  • #2
    Ich habe das auch mal so gemacht und hatte das selbe Problem. Meine Lösung war, einfach rückwärts über die Binds zu loopen, dann ist ":10" bereits ersetzt wenn ":1" dran kommt. :-)

    Aber wieso benutzt du nich PDO?
    Mein PHP Blog

    Kommentar


    • #3
      Weil PDO eben nicht auf allen Systemen verfügbar ist, deswegen halt das workaround, im Regelfall würde ich die mysqli Schnittstelle verwenden, allerdings sieht's da ähnlich aus, wie mit PDO... natürlich bietet PDO Riesenvorteile, allein die Performance...weil...ist ja in C geschrieben und nicht mit php, aber naja...fummel da noch nen bißchen dran rum, iwie wird das schon hinhauen..
      Grüße, Dennis
      Musik beflügelt unseren Geist

      Kommentar


      • #4
        Wenn dein System entsprechend groß ist (CMS, Firmensoftware, ...), würde ich PDO einfach voraussetzen! Der Vorteil überwiegt meiner Meinung nach absolut dem Nachteil, die Extension installiert haben zu müssen! Vor allem, bevor du noch mit deiner eigenen Fehler-behafteten Klasse daherkommst!

        Kommentar


        • #5
          Überleg mir im Moment das komplett über PDO anzusteuern, davor wird dann ne Factory geschmissen und dann passt das schon... ich werd da mal nachhaken, vllt lässt sich ja was machen...
          Grüße, Dennis
          Musik beflügelt unseren Geist

          Kommentar

          Lädt...
          X