您的位置 首页 MySql

php – 如何在Yii框架中使用mysql_escape_string()?

众所周知,我们不能在Yii等框架中使用原始MySQL查询.我想在我的项目中使用mysql_escape_string,该项目在Yii框架中运行,以避免用户输入中的SQL注入.

我知道在PHP 5.5中不推荐使用mysql_escape_string,而且我有一个PDO替代方案. Yii框架中的替代方法是什么,以及mysql_escape_string()的PDO方式是什么?
最佳答案
PDO中mysql_escape_string的替代方法是使用预准备语句.以Yii为例:

$user = Yii::app()->db->createCommand()
    ->select('username,password')
    ->from('tbl_user')
    ->where('id=:id',array(':id'=>$_GET['userId']))
    ->queryRow();

(来自Yii参考文档http://www.yiiframework.com/doc/api/1.1/CDbCommand)

通过准备语句中的占位符传递参数时,可以保护您免受SQL注入.

关于作者: dawei

【声明】:金华站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

热门文章