YII DB 原生语句,通用操作的入门总结
原生语句
调用yii\db\Command执行纯sql语句
查询
queryXXX:结果查询;
常用的:queryAll=>所有结果集
queryOne=>返回一行(第一行),
queryColumn=>返回一列(第一列)
//匹配所有 返回[[列=>值]]的数组
$result = Yii::$app->db
->createCommand('SELECT * FROM country WHERE code=\'CN\'')
->queryAll();
绑定参数
使用带参数的SQL语句,可防止SQL注入攻击
,其采用预处理语句
实现。
参数占位符:以冒号开头的字符串 如:id
绑定形式:
bindValue():单个参数值 如 bindValue(':id', $_GET['id])
bindValues():多个参数值 数组 如 bindValues([':id'=>$_GET['id, ':status'=>1])
bindParam():绑定单个参数 单支持参数引用
$result = Yii::$app->db->createCommand('SELECT * FROM country WHERE code=:code')
->bindValues(['code'=>'CN'])