调用数据库的三种方式

ThinkPHP 内置了抽象数据库访问层,把不同的数据库操作封装起来。我们只需要使用
公共的 Db 类进行操作,无须针对不同的数据库写不同的代码和底层实现。Db 类会自动调用
相应的数据库驱动来处理。

 

一、全局配置定义  

 common/conf/config.php 

‘DB_TYPE‘=>‘mysql‘, //数据库类型
‘DB_HOST‘=>‘localhost‘, //服务器地址
‘DB_NAME‘=>‘thinkphp‘, //数据库名
‘DB_USER‘=>‘root‘, //用户名
‘DB_PWD‘=>‘123456‘, //密码
‘DB_PORT‘=>3306, //端口
‘DB_PREFIX‘=>‘think_‘, //数据库表前缀,因为建立的数据表名称为think_user

在 Home/Controller/UserController.calss.php 中

<?php
namespace Home\Controller;
use Think\Controller;
use Think\Model;//加载数据库模块

class UserController extends Controller {
    public function model() {
        $user = new Model(‘User‘);//User最好大写
var_dump($user->select()); //select是选择数据表中的数据
  }
}

二、PDO专用定义

  common/conf/config.php  

    ‘DB_TYPE‘=>‘pdo‘,
    ‘DB_USER‘=>‘root‘,
    ‘DB_PWD‘=>‘123456‘,
    ‘DB_PREFIX‘=>‘think_‘,
    ‘DB_DSN‘=>‘mysql:host=localhost;dbname=thinkphp;charset=UTF8‘,

在 Home/Controller/UserController.calss.php 不变

 

三、直接在 Home/Controller/UserController.calss.php 写,不需要在  common/conf/config.php  插入任何代码

 

<?php
namespace Home\Controller;
use Think\Controller;
 use Think\Model; 

class UserController extends Controller {
    public function model() {
        $user = new Model(‘User‘,‘think_‘,‘mysql://root:123456@localhost/thinkphp‘);//User中的U 建议大写
        var_dump($user->select());    
    }
}

 

最后说一点,就是model()函数内的 $user = new Model(‘User‘); 可以替换为 $user = M (‘User‘);  这时,可不在引用 use Think\Model; 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。