Alternatywa dla mysql_escape_string
w PDO korzysta z przygotowanych oświadczeń. Na przykład w Yii:
$user = Yii::app()->db->createCommand()
->select('username, password')
->from('tbl_user')
->where('id=:id', array(':id'=>$_GET['userId']))
->queryRow();
(Z dokumentacji referencyjnej Yii http://www.yiiframework.com/doc/api /1.1/CDbCommand )
Jesteś zabezpieczony przed wstrzyknięciem SQL, gdy przekazujesz parametry przez symbole zastępcze w przygotowanej instrukcji.