I've been filtering every variables before using PDO. At that time, I usually escape strings and check its length. If the value is integer or any other numeric value, I try to figuring out the value is really desired type and value.
But after using PDO, only thing I do for security is, set the PDO::PARAM_* as binding option like following..
$stmt = $this->db->prepare("select * from $dbSessionTableName where acntid = ? and end > now()");
$stmt->bindValue(1, $_SESSION['account_id'], PDO::PARAM_INT);
$stmt->execute();
Is this really secure?