操作数据库 :
- 原生sql 查询语法不同
# tp
Db::query / Db::execute
# lar
Db:操作方法('sql 语法');
# 框架支持的sql方法类似
- 两种框架防范sql注入 ( 实现预处理的区别 )
# tp
where/ query / execute 方法支持预处理, 需要手动写参数绑定 ; 支持不定长参数和数组传参两种方式
$model->query('select * from user where id=%d and status=%d',$id,$status);
$model->query('select * from user where id=%d and status=%d',array($id,$status));
# lar 提供Eloquent模型, 每个表对应一个数据模型, 使用数据模型查询默认使用pdo参数绑定; 使用raw sql不启动预处理, 支持手动绑定参数
User::where('name', $input_name)->first();
User::whereRaw("name = ?", [$input_name])->first();