Db::table('biaoming')->select();
有四种查询方式,select(),column()返回多条记录,当不存在时返回空数组,find(),value()返回一条记录,当不存在时,返回null。
Db::table('imooc_user')->find();每次不需要实例化
db('user')-find();每次调用会实例化
db('user',[],false)-find();添加第三个参数false就不会每次调用实例化
Db::name('user')->select();
Db::table('imooc_user')->find();
两者都返回二维数组
value返回一条记录,并且是这条记录的某个字段值;
如果结果不存在,返回NULL。
column返回一个一维数组,数组中的value值就是我们要获取的列的值;
如果存在第二个参数,就返回这个数组并且用第二个参数的值作为数组的key值。
如果不存在,返回空数组。
select返回所有记录,返回的结果是一个二维数组;
如果结果不存在,返回一个空数组。
find返回一条记录,返回的结果是一个一位数组(本期讲解中截图有错,下一期视频有更正);
如果结果不存在,返回NULL.
select返回一个二维数组,如果结果不存在,返回空数组
find返回一维数组,如果结果不存在,返回null指
value返回一条记录,值为某个字段值,如果结果不存在,返回null指
column返回一维数组,得到的指就是我们要的指,如果存在第二个参数,就返回这个数组,并且值为第二个参数
value 返回一条记录 返回的结果并且是字条记录的某个字段
如果结果不存在返回 NULL
Db::table('lx1_user')->where(['id'=>'2'])->value('username');
find 返回一条记录 返回的结果是一个一维数组 而其中的where 是为了更准确的查找到所需要的记录 就是可以添加一个字段名 比如你想要id为1的记录或者是username为xxx的
->where(['字段名'=>'字段名的数据'])
Db::table('lx1_user')->where(['id'=>'10']) -> find();
源生方法的数据插入数据表
Db::execute("insert into lx1_user set username=?,password=?,email=?",[
'morankin',md5('123'),'morankin@qq.com'
]);
?是给数据类名一个位置变量
后面添加数据也是按照前面 ? 的先后排列的
数组第一个单元替换前面查询语句的第一个问号,第二个单元替换第二个问号,以此类推
select colume 结果存在返回二维数组 不存在返回空数组;
find value 不存在返回null
截图汇总
colume('username','email');
返回一维数组 email 是key username 为value ;
前面的为主, 作为value
colume('username') 返回一个一维数组
->value('username');
返回字符串,一条记录,相当于tp3 的 getField();
find 如果有结果返回 ,应该是返回一维数组的格式!
Db::execute() 语句插入数据
#使用sql语句的方式查询数据库
// $res = Db::query("select * from user where id=?",[5]);
#插入语句
// $res = Db::execute("insert into user set password=?,username=?,name=?,age=?",[
// md5('password'),
// 'bhfhgvbv',
// 'love',
// '22'
// ]);
#select 返回所有记录 返回的结果是一个二维数组
// $res = Db::table('user')->select();
#如果结果不存在 返回一个空数组
// $res = Db::table('user')->where([
// 'id' => '100'
// ])->select();
#find 返回一条记录 返回的结果是一个一维数组
#如果结果不存在 返回一个空数组
// $res = Db::table('user')->find();
#value 返回一条记录 并且是这条记录的某个字段值
#如果结果不存在 返回NULL
// $res = Db::table('user')->value('name');
#column 返回一个一维数组,数组中的value值就是我们要获取的列的值
#如果存在第二个参数 就返回这个数组并且用第二个参数作为数组的key值
#如果结果不存在 返回一个空数组
// $res = Db::table('user')->column('name','username');
// $res = Db::name('user')->select();
$res = db('user',[],false)->find();
dump($res);
Db类查询的操作
SQL:select 返回一个二维数组
Db::table('表名')->select();表名需要加表前缀
条件查询:
Db::table('表名')->where(['id'=>'100'])->select();
SQL:find 返回一条记录的二维数组
Db::table('表名')->find();
查找某个字段
SQL:value
Db::table('表名')->value('字段名');
SQL:column 返回一个一维数组,数组中的value值是列的值
如果存在第二个人参数 就返回这个数组并且用第二个参数的值作为数组的key值
Db::table('表名')->column('字段名');
Db::name('表名')->select();表名不需要加表前缀
<=>db('表名')->find();eg.:$res=db('user')->find();
Db::table()->select();
select 返回所有记录 返回的结果是一个二维数组
如果结果不存在 返回一个空数组
column 返回一个一维数组 数组中的value值就是我们要获取的列的值
如果存在第二个参数 就返回这个数组并且用第二个参数的值作为数组的key值
如果结果不存在 返回空数组
find 返回一条记录 返回的结果是一个一维数组
如果结果不存在 返回NULL
value 返回一条记录 并且是这条记录的某个字段值
如果结果不存在 返回NULL
Db::name()->select();
db('', [], false)->find();
Db::name('不用加表前缀')Db::table('加表前缀')
助手函数db类db('user',[],false)避免多次实例化 Db单例模式,
助手函数db类db('user',[],false)避免多次实例化 Db单例模式,
四个不同的查询
数据库查询
PS:find那里返回的应该是一个一维数组
<!-- Db::query Db::execute -->
#使用sql语句方式查询数据库
$res = Db::query("select *from imooc_user";("select *from imooc_user where id=?",[1]);
$res =Db::execute("insert into imooc_user set username=?,password?,email=?",['imooc',md5('imooc'),'imooc@qq.com']);
<!-- Db::table -->
#selsect 返回所有记录 返回的结果是一个二维数组
#如果结果不存在 返回一个空数组
$res = Db::table('imooc_user')->select();
#find 返回一条记录 返回的结果是一个一维数组
#如果结果不存在返回NULL
$res = Db::table('imooc_user')->find();
#value 返回一条记录 并且是每条记录的某个字段值
#如果结果不存在 返回NULL
$res = Db::table('imooc_user')->value('username');
#column 返回一个一维数组 数组中的value值就是我们要获取的列的值
#如果存在第二个参数 就返回这个数组并且用第二个参数的值作为key值
#如果不存在返回NULL
$res = Db::table('imooc_user')->column('username');
<!-- Db::name 也有同上的方法-->
$res = Db::name('user')->select();
<!-- db 也有同上的方法-->
如果没有第三个参数每次就都会实例化一个
$res = db('user',[],false)->find();
Db::table('数据库表名')->对象名 条件->where(key, value) 表名:查询值 不知能否添加条件判断,还是只能原生添加?
select ();返回所有记录 返回的结果是一个二维数组,不存在返回空数组
column(key, value) 返回列一维数组,key默认查询名,若存在第二个参数,则进行键值映射,value查询名,不存在返回空数组
find() 返回一条记录,返回的结果是一个一维数组,不存在返回NULL
value() 返回一条记录,并且是字条记录的某个字段值,结果不存在返回NULL
Db::name('不需前缀的表名') 开发中一般使用这个 其余参数同上
助手函数:db('不需前缀的表名') 功能同上,只是这种使用方法每次使用都需要实例化
Db::content() 数据库连接(惰性连接)
Db::query("SQL语句???", [value1, value2, value3]) 数据库语句(原生)
Db::execute("SQL语句???", [value1, value2, value3]) 数据库插入语句,返回影响条数(原生)
1.执行Db::connect()并没有正在地连接数据库,只有在使用数据库的时候才会连接
#使用sql语句方式查询数据库
//$res = Db::query("select *from imooc_user where id=?",[1]);
$res =Db::execute("insert into imooc_user set username=?,password?,email=?",['imooc',md5('imooc'),'imooc@qq.com']);
#selsect 返回所有记录 返回的结果是一个二维数组
#如果结果不存在 返回一个空数组
$res = Db::table('imooc_user')->select();
#find 返回一条记录 返回的结果是一个二维数组
#如果结果不存在返回NULL
$res = Db::table('imooc_user')->where(['id'=>10])->find();
#value 返回一条记录 并且是每条记录的某个字段值
#如果结果不存在 返回NULL
$res = Db::table('imooc_user')->value('username');
#column 返回一个一维数组 数组中的value值就是我们要获取的列的值
#如果存在第二个参数 就返回这个数组并且用第二个参数的值作为key值
#如果不存在返回NULL
$res = Db::table('imooc_user')->column('username');
#find 返回一条记录 返回的结果是一个二维数组
#如果结果不存在 返回NULL
$res = Db::table('imooc_user')->find();
#value 返回一条记录 并且是字条记录的某个字段值
#如果结果不存在 返回NULL
$res = Db::table('imooc_user')->value('username');
$res = Db::name('user')->select();
实例化
$res = db('user',[],false)->find();
Db::方法 因为是单例模式 不会重复实例化 而用db驻守函数会每次实例化,消耗内存,所以在后面加上false,这样db('表名',[],false)就不会每次实例化了
find返回的是一维数组,DB::name('表名'),DB::table('表全名'),db()助手函数第三个参数为false防止重新实例化