调用数据库的三种方式

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

调用数据库的三种方式的相关文章

使用DataSet Datatable 更新数据库的三种方式

1:自动生成命令的条件 CommandBuilder 方法a)动态指定 SelectCommand 属性b)利用 CommandBuilder 对象自动生成 DataAdapter 的 DeleteCommand.InsertCommand 和 UpdateCommand.c)为了返回构造 INSERT.UPDATE 和 DELETE .SQL CommandBuilder 必须执行 SelectCommand.即:必须额外经历一次到数据源的行程,这可能会降低性能.这也是自动生成命令的缺点.d)

Code First03---CodeFirst根据配置同步到数据库的三种方式

上一节我们说到使用Fluent API对实体的配置,但是有一个问题了,在业务中我们可以用到的实体很多,那是不是每个都需要这样去配置,这样就造成我们重写的OnModelCreating方法很庞大了.所以我们需要更好的组织Fluent API的配置. 我们知道modelBuilder的Entity<T>泛型方法的返回值是EntityTypeConfiguration<T>泛型类. 所以我们可以定义一个继承自EntityTypeConfiguration<T>泛型类的类来定义

[PHP]PHP编程操作Mysql数据库的三种方式

当我开始去接触PHP的时候,真切的感受到其所具有的魅力,本着学习的态度和打破固有的语言和模式的想法,开始了PHP之旅,总的来说,走的还是比较顺利,在其中能够看到C,Java,Perl影子,学习曲线不大,但是做好产品仍然有着一条漫漫长路. 多余的话不说了,慢慢感受和领悟,本文主要讲述PHP操作数据库的三种扩展. 如下图是PHP访问数据库的三种扩展方式: 下面举出三种方式访问数据库并查询数据的实例代码: 1.mysql扩展 <?php //1:获取数据库连接 $connection = @ mysq

java连接access数据库的三种方式以及远程连接

连接access数据库,网上的内容很多,尝试的过程中也会遇到各种问题,没有特别好的介绍,所以自己想总结一下,日后备用. 这里需要提前说明下,win7系统32bit和64bit默认安装的access都是32bit的,但是如果是64bit的系统连接access数据库时需要安装64bit的office软件,下面会说到. 以64bit操作系统为列 第一种:电脑上配置结合java代码实现 a.打开目录C:\Windows\System32找到odbcad32.exe文件,双击打开 b.点击右侧添加按钮,在

PHP连接MySQL数据库的三种方式(mysql、mysqli、pdo)

PHP与MySQL的连接有三种API接口,分别是:PHP的MySQL扩展 .PHP的mysqli扩展 .PHP数据对象(PDO) ,下面针对以上三种连接方式做下总结,以备在不同场景下选出最优方案. PHP的MySQL扩展是设计开发允许php应用与MySQL数据库交互的早期扩展.MySQL扩展提供了一个面向过程的接口,并且是针对MySQL4.1.3或者更早版本设计的.因此这个扩展虽然可以与MySQL4.1.3或更新的数据库服务端进行交互,但并不支持后期MySQL服务端提供的一些特性.由于太古老,又

EF Codefirst生成数据库的三种方式

1.写在前头 不是什么高大上的东西,也不是完全原创的,大多是自己学习时去网上查的各种资料.只是发现学东西还是要写点东西,不然前边写着后边忘了,花的时间都浪费了,写写增加记忆吧.如果是有人刚开始学看到这个相信会有帮助的. 2.开搞 前几天写了篇小文章搞了下EF生成数据库时获取连接字符串的方式,发布时不小心勾选了发布到首页,秒秒钟就被管理员给撤销了( ⊙ o ⊙ ),确实太低端了,博客园锅锅撤销也是可以理解的,废话不多说,今天继续搞一搞获取完连接字符串后EF怎么生成数据库呢,有哪些方式呢? 第一种:

JDBC操作数据库的三种方式比较

JDBC(java Database Connectivity)java数据库连接,是一种用于执行上sql语句的javaAPI,可以为多种关系型数据库提供统一访问接口.我们项目中经常用到的MySQL.oracle.DB2等关系型数据库均是通过JDBC来访问的,现在主流的ORM框架Hibernate.Mybatis等均是在JDBC的基础上做的进一步封装.优化.一般小型的项目,可以直接用JDBC来访问数据库,简单方便.我在进过几个项目后,总结了三总JDBC的基本用法,对这几种用法做一个总结. 第一种

【SSH三大框架】Struts2基础第三篇:配置Action以及调用Action的三种方式

一.struts.xml中的包和命名空间 1.Struts2不支持为单独的Action设置命名空间,而是通过为包指定namespace属性来为包下面的所有Action指定共同的命名空间. 如果在配置<package>的时候没有指定namespace属性,则该包下的所有Action处于默认的包空间下 2.例如: <package name="lee" extends="struts-default"> <action name="

C# .NET 动态调用webservice的三种方式

转载自 百度文库 http://wenku.baidu.com/link?url=Q2q50wohf5W6UX44zqotXFEe_XOMaib4UtI3BigaNwipOHKNETloMF4ax4W4iPZcjAW6q8vu45QOjK6DSUon1R10ePVlqG6nwussbbXE6jm 多数时候我们通过 "添加 Web 引用..." 创建客户端代理类的方式调用WebService,但在某些情况下我们可能需要在程序运行期间动态调用一个未知的服务.在 .NET Framework