PDO kullanarak / güncelleme yardımcı işlev eklemek

0 Cevap php

Ben geleneksel düz mysql sürücü kullanımı için SET deyim üretmek için çok basit bir yardımcı işlevi vardır:

function dbSet($fields) {
  $set='';
  foreach ($fields as $field) {
    if (isset($_POST[$field])) {
      $set.="`$field`='".mysql_real_escape_string($_POST[$field])."', ";
    }
  }
  return substr($set, 0, -2); 
}

Bu gibi kullanılabilir

$id = intval($_POST['id']);
$fields = explode(" ","name surname lastname address zip fax phone");
$_POST['date'] = $_POST['y']."-".$_POST['m']."-".$_POST['d'];
$query  = "UPDATE $table SET ".dbSet($fields)." stamp=NOW() WHERE id=$id";

Bu aynı zamanda kodu oldukça KURU ve kolay ama esnek hale getirir.

PDO kullanarak, benzer bir işlevi paylaşmak isteyen herkes ifadeler bulunuyor hazırlanan diye sormak lazım?

I am still in doubts, how to accomplish this.
Is there a straight and simple way to use PDO prepared statements to insert data? What form it should be? Query builder helper? Or insert query helper? What parameters it should take?

I hope it can be easy enough to be used as an answer here on SO. Because in the every topic we can see prepared statements usage recommendation, but there is not a single good example. Real life example, I mean. To type bind_param() 20 times is not a good programming style I believe. And even 20 question marks too.

0 Cevap