_BuKi_ adlı üyeden alıntı: mesajı görüntüle
mysql_real_escape_string olayını, PDO'da yapan method quote() metodu. Araştırmanızı öneririm. PDO'da prepare() metodunu ve bunlara ek olarak bindParam vs gibi metotları kullanırsanız zaten escape işlemini yapmış oluyorsunuz. PDO bu güvenliği sağlıyor. query() metodu kullanarak ham sql yazacaksanız, söylediğim gibi dışarıdan sorguya giren değerleri quote() metodu ile filtreleyin. Başka bir işlem yapmanıza gerek kalmaz.

Ayrıca, dilerseniz PDO ile ilgili olarak yazdığım PDOx sınıfına da göz atabilirsiniz.
Sizin yazdığınız sınıfı biliyorum hatta paylaştığınızda ilk yorum yapan bendim sanırım

Aşağıdaki gibi bindParam kullanırken giden değerin ne olduğunu da belirteyim dedim. Sizce yeterli mi?

$update = $database->prepare('update tm_pages set title= :title, text= :text, catid= :catid, status= :status where id= :id');
   $update->bindParam(':title', cleanMe($_POST['title']), PDO::PARAM_STR);
   $update->bindParam(':text', cleanMe($_POST['text']), PDO::PARAM_LOB);
   $update->bindParam(':catid', cleanMe($_POST['catid']), PDO::PARAM_INT);
   $update->bindParam(':status', cleanMe($_POST['status']), PDO::PARAM_INT);
   $update->bindParam(':id', $id, PDO::PARAM_INT);
   $update->execute();