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();