PHP之ThinkPHP框架数据库

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" }

  

参考:

相关文章

(1)创建数据表: CREATE TABLE IF NOT EXISTS `think_form` ...
组合查询的主体还是采用数组方式查询,只是加入了一些特殊的...
(1)创建模版:/App/Home/View/Form/edit.html   <FORM m...
自定义配置文件user.php: <?php return array(    \'se...
在一些成熟的CMS系统中,后台一般都包含一个配置中心(如织梦...
废话不多说先上图预览下,即本博客的分页; 这个分页类是在...