Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:看来之前学过的设计模式用到了
// SQL 查询
public function select()
{
// ? 号占位符用于防止 SQL 注入,第二个参数绑定
$res = DB::select('SELECT `username`,`email` FROM `users` WHERE `id` > ? LIMIT 5', ['2000']);
// 除了使用 ? 表示参数绑定外,你也可以使用命名绑定来执行一个查询:
// $res = DB::select('SELECT * FROM `users` WHERE `id` > :n', ['n'=>2]);
return $res;
}
// SQL 插入
public function insert()
{
// 避免语句过长,? 号占位符使用$user变量代替
$user = ['ximen', '18','ximen@php.cn',md5('123456php.pro')];
$res = DB::insert('INSERT INTO `users`(`username`,`age`,`email`,`password`) VALUES (?,?,?,?)', $user);
// 返回执行成功条目数
return $res;
}
// SQL 删除
public function delete()
{
$res = DB::delete('DELETE FROM `users` WHERE `id`= ?' ,[2043]);
// 返回执行成功条目数
return $res;
}
// SQL 更新
public function update()
{
$res = DB::update('UPDATE `users` SET `username` = ? WHERE `id` = ?', ['peter',2041]);
// 返回执行成功条目数
return $res;
}
// SQL 链式操作()
public function chain()
{
// 查询id为2040的记录
$res = DB::table('users')->find(2040);
// 查询id大于2000的记录
$res = DB::table('users')->where('id','>',2000)->get();
print_r($res) ;
// find()根据ID查询/返回1条
// get():获取所有行
// first()获取单行
// lists()获取包含单个列值的数组(字段)
// select()获取数据表的所有列(字段)
// where() 条件
// 还有聚合函数,比如count, max, min, avg, 和 sum,需要在构造查询之后调用这些方法
// ....
}
// 查询
Route::get('users/select', 'Users@select');
// 插入
Route::get('users/insert', 'Users@insert');
// 删除
Route::get('users/delete', 'Users@delete');
// 更新
Route::get('users/update', 'Users@update');
// 链式操作
Route::get('users/chain', 'Users@chain');