PHP是网站后台开发语言,其重要的操作对象莫过于数据库,之前有了解过mysqli和pdo,但ThinkPHP的数据库交互必须使用其特定的封装方法,或者可以认为其是对PHP数据库操作的进一步封装,以达到更加安全和高效。
ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库驱动来处理。采用PDO方式,目前包含了Mysql、SqlServer、PgSQL、Sqlite等数据库的支持。
在APP目录下的database.php中进行相关参数的配置
测试准备工作
建立数据表tb_test,并在database.php中配置('prefix' => 'tb_',)使表前缀为tb_,然后建立模板Test.php,控制器Testx.php
控制器Testx.php实现
= Test();
=->testshow();
dump();
18 }
使用execute()和query()方法实现数据库操作,是直接使用SQL原生语句进行数据表操作
execute可实现数据表的增、删、改,操作后会返回影响行数
query可实现数据表的增、删、改、查,只有查询会返回结果
模板Test.php实现:
Test
=Test::query("insert into tb_test values(?,[19,"W12","X12","N12"
}
模板Test.php实现:
Test
'东小东','text2' => '100'];
= ['text1' => '东小东1','text2' => '100'], ['text1' => '东小东2', ['text1' => '东小东3',
=Test::insertAll(
}
基于PDO的删除语句
模板Test.php实现:
Test
delete();
30
=Test::where('id','>',30)->17
}
基于PDO的修改语句
模板Test.php实现:
Test
update(['text3' => '99999']);
setInc('id',2);
=Test::where('text1',"dongxiaodong")->setDec('id',2
}
模板Test.php实现:
Test
select();
find();
value('text2');
column('text3');
=Test::where("text1","like","%W%")->
select();
(
}
Test
where("text1","%W%")
select();
select();
whereOr("text1","%W%")
select();
=Test::where("text1|text3","%W%" ->
}
=Test::
=Test::where("id",12 ->order("id")
->limit(0,10) page("3,10") //分页,参数1为当前页,参数2为每页的条数
->field("id,text3")
->whereOr("text1","%W%")
->select();
以上是使用模板继承Model来实现数据库操作的,当然还有另一种数据库的操作方法,那就是使用系统的Db模块。如果使用该模块则必须先use think\Db;
'东小东','text2' => '222222'];
insert($daa);
select();
=Db::query("select * from tb_test"
}
参考:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。