Laravel数据库操作的三种方式

Laravel提供了3种操作数据库方式:DB facade(原始方式)、查询构造器和Eloquent ORM。

数据库的配置文件在config目录下的database.php里。打开这个文件,找到mysql的配置项。
这里写图片描述
这里有个env,它其实是调用了laravel根目录下的.env文件,这个文件存储了数据库的配置信息。打开它。修改为项目的数据库信息即可。
这里写图片描述
请自行建一个数据库,其中数据库得包含vipinfo表,并且插入一些数据,以方便下面使用。表的结构如下图。
这里写图片描述
顾名思义:这张表是会员表,分别有会员ID(主键),会员名字,会员类型,会员积分等字段。

一、数据库操作之DB facade

在app->Http->Controllers目录下新建一个Student控制器,StudentController.php。 StudentController.php代码如下:

<?php 
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
class StudentController extends Controller {

}

1.查询操作
在Student控制器里添加一个test1方法,查询用的是DB类的静态方法select(),参数是原生的sql语句,返回的是一个二维数组。dd()是laravel提供的方法,可以将一个数组以节点树的形式展示出来。具体代码如下:

public function test1()
{
    $student=DB::select("select * from vipinfo");
    //返回一个二维数组  $student
    var_dump($student);
        //以节点树的形式输出结果
    dd($student);
}

路由配置: Route::get(‘test1’,[‘uses’=>’StudentController@test1’]);

还不知怎样配置路由的,可以参考我之前的博客:http://blog.csdn.net/zls986992484/article/details/52755037

URL访问:http://localhost/laravel/public/index.php/test1 ,则会打印出结果。

2.新增操作

新增使用的是DB类的静态方法insert(),第一个参数是sql语句,第二个参数是一个数组,数组里放要插入的数据。这里?是占位符,通过数据库接口层pdo的方式,达到防sql注入的目的。返回的是执行的结果。插入成功则返回true,否则为false。

$bool=DB::insert("insert into vipinfo(vip_ID,vip_name,vip_type,vip_fenshu) 
            values(?,?,?,?)",[5,'小明','出行',670]);
var_dump($bool);
//新增成功则返回true
  1. 更新操作
    更新使用的是DB类的静态方法update(),第一个参数是sql语句,第二个参数是一个数组,数组里的元素分别对应sql语句里的问号。更新成功返回true。
$bool=DB::update('update vipinfo set vip_fenshu= ? where vip_ID= ? ',[700,5]);
var_dump($bool);  //更新成功返回true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值