Funktionierenden Spagetti-Code schöner gestalten.

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

  • Funktionierenden Spagetti-Code schöner gestalten.

    Moin zusammen,

    ich bin jetzt nicht der Top-Programmierer also bitte etwas Nachsicht.

    Ich arbeite mich grad in PDO ein und da diese eine spezielle Schreibweise im Gegensatz zu normalem MySQLi hat komme ich da grade an meine Grenzen.
    Die Frage hat so weit nicht wirklich etwas mit der Datenbank zu tun, also hoffe ich, dass ich hier richtig bin.

    PHP-Code:
    $request = new Request(array());
        if(isset(
    $request->params)){
            
    $db = new DB();
            
    $array_r=$request->params;

           
    class orderDetails {        
                var 
    $id;
                var 
    $regNr;
                var 
    $regComments;
            }

            
    $orderDetails= new orderDetails();
            
    $orderDetails->regNr=($array_r->regNr);
            
    $orderDetails->regComments=($array_r->regComments);
            
    $orderDetails->id=($array_r->id);
          
            
    $sql 'UPDATE '.TP.'register SET regNr=:regNr, regComments=:regComments WHERE id=:id';
            
    $result $db->connect()->prepare($sql); //->execute($data);    
            
    $result->bindValue(':regNr', ($orderDetails->regNr));
            
    $result->bindValue(':regComments', ($orderDetails->regComments));
            
    $result->bindValue(':id', ($orderDetails->id));        
            
    $result->execute();​ 
    Meine Frage wäre, wie könnte man den Code schöner gestalten. Da ich am Anfang den Request vom Programm in ein Array schreibe und diese dann in die Klasse schreibe, habe ich zumindest den Teil richtig erledigt.
    Jetzt will aber PDO ein einfaches Array haben, damit ich die einzelnen Übergabewerte in den SQL String schreibe. Das habe ich dann mit den
    PHP-Code:
     $result->bindValue(':xxx, ($orderDetails->xxx)); 
    gelöst.
    Es ist nicht schön aber es funktioniert. Meine Frage wäre - geht das auch einfacher ?

    Mit MySQLi hätte ich das einfach so gelöst ohne die Bindings:
    PHP-Code:
    $query="UPDATE '.TP.'register SET regNr=$orderDetails->regNr, regComments=$orderDetails->regComments WHERE id=$orderDetails->id"
    Dieses ist aber bei PDO nicht erlaubt.

    Nette Grüße,
    Bonsai
    Zuletzt geändert von B0NS4I; 03.08.2025, 21:51.

  • #2
    Manchmal sieht man den Wald vor lauter Bäumen nicht. es war so einfach:

    PHP-Code:
    $result->execute((array)$orderDetails); 
    So mit konnten die Bindings auch entfernt werden und man hat weniger Code. Genau das wollte ich.

    Nun ja, ich bedanke mich trotzdem. Wofür auch immer XD

    Gruß, Bonsai
    Zuletzt geändert von B0NS4I; 03.08.2025, 22:07.

    Kommentar

    Lädt...
    X