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.
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
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:
Dieses ist aber bei PDO nicht erlaubt.
Nette Grüße,
Bonsai
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();
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));
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";
Nette Grüße,
Bonsai
Comment