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:[email protected]/thinkphp‘);//User中的U 建议大写 var_dump($user->select()); } }
最后说一点,就是model()函数内的 $user = new Model(‘User‘); 可以替换为 $user = M (‘User‘); 这时,可不在引用 use Think\Model;
时间: 2024-10-06 05:20:27