L'alternativa a mysql_escape_string
in PDO utilizza istruzioni preparate. In Yii per esempio:
$user = Yii::app()->db->createCommand()
->select('username, password')
->from('tbl_user')
->where('id=:id', array(':id'=>$_GET['userId']))
->queryRow();
(Dalla documentazione di riferimento Yii http://www.yiiframework.com/doc/api /1.1/Comando CDb )
Sei protetto contro SQL injection quando passi i parametri attraverso i segnaposto in un'istruzione preparata.