Tp5 数据库查询

<?php

namespace app\index\controller;

use think\Controller;
use think\Db;
use think\Env;
use think\View;

class Index extends Controller
{
    public function index()
    {
        # 1.使用sql语句的方式查询数据库
        //$res = Db::query("select * from imooc_user where id=?", [1]);

        # 2.使用sql添加数据
        /*
        $res = Db::execute("insert into imooc_user set username=?,password=?,email=?", [
            'imooc',
            md5('imooc'),
            '[email protected]'
        ]);
        */

        # 3.使用 Db::table 查询, select 返回所有记录,返回的结果是一个二维数组
        # 如果结果不存在, 返回一个空数组
        //$res = Db::table('imooc_user')->select();

        # 4. find方法, 返回一条记录, 返回的结果是一个一维数组
        # 如果结果不存在, 返回一个空数组
        /*
        $res = Db::table('imooc_user')->where([
            'id' => 10
        ])->find();
        */

        # 5. value方法, 返回一个字段的值
        # 如果结果不存在, 返回null
        /*
        $res = Db::table('imooc_user')->where([
            'id' => 10
        ])->value('username');
        */

        # 6. column 方法, 返回的是一个一维数组,数组中的value值就是我们要获取的列的值
        # 如果存在第二个参数, 就返回这个数组并且用第二个参数的值作为数组的key值
        # 如果结果不存在,返回空数组
        //$res = Db::table('imooc_user')->column('username', 'email');

        $res = db('user')->find();

        dump($res);

    }


}

select / column 返回多条记录  find / value 返回一条记录

 Db::table() 需要填入完整的表名. 而且 Db::name() 则不需要填前缀.

db() 助手函数, 尽量少用, 因为每次都会实例化, 而 Db::table() / Db::name() 是单例模式, 不需要每次实例化. db() 如果也要用, 但是不想每次实例化, 可以给第三个参数, 给一个 false. 

发布了88 篇原创文章 · 获赞 6 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/codipy/article/details/92767996