ThinkPHP连接数据库操作示例【基于DSN方式和数组传参的方式】

 更新时间:2018年03月23日 11:32:29   作者:chengqiuming  
这篇文章主要介绍了ThinkPHP连接数据库操作,结合实例形式分析了thinkPHP基于DSN方式和数组传参的方式进行数据库连接的实现步骤与属性设置、控制器、模板使用等相关操作技巧,需要的朋友可以参考下

本文实例讲述了ThinkPHP连接数据库操作。分享给大家供大家参考,具体如下:

一 代码

1、完成入口函数的编写

<?php
define('THINK_PATH', '../ThinkPHP');    //定义ThinkPHP框架路径(相对于入口文件)
define('APP_NAME', 'App');       //定义项目名称
define('APP_PATH', './App');        //定义项目路径
require(THINK_PATH."/ThinkPHP.php");  //加载框架入口文件
App::run();               //实例化一个网站应用实例
?>

2、完成控制器的编写

<?php
header("Content-Type:text/html; charset=utf-8");  //设置页面编码格式
class IndexAction extends Action{
  public function index(){
    $db_dsn="mysql://root:root@127.0.0.1:3306/db_database30";    //定义DSN
    $db = new Db();                       //执行类的实例化
    $conn=$db->getInstance($db_dsn);               //连接数据库,返回数据库驱动类
    $select=$conn->query('select * from think_user');      //执行查询语句
    $this->assign('select',$select);       // 模板变量赋值
    $this->display();              // 指定模板页
  }
  public function type(){
    $dsn = array(
      'dbms'   => 'mysql',
      'username' => 'root',
      'password' => 'root',
      'hostname' => 'localhost',
      'hostport' => '3306',
      'database' => 'db_database30'
    );
    $db = new Db();
    $conn=$db->getInstance($dsn);              //连接数据库,返回数据库驱动类
    $select=$conn->query('select * from think_type');      //执行查询语句
    $this->assign('select',$select);       // 模板变量赋值
    $this->display('type');             // 指定模板页
  }
}
?>

3、完成模板编写

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>用户信息输出</title>
<link href="__ROOT__/Public/Css/style.css" rel="external nofollow" rel="external nofollow" rel="stylesheet" type="text/css" />
</head>
<body>
<table width="405" border="1" cellpadding="1" cellspacing="1" bgcolor="#99CC33" bordercolor="#FFFFFF">
 <tr>
  <td colspan="3" bgcolor="#FFFFFF" class="title" align="center">用户信息</td>
 </tr>
 <tr class="title">
  <td bgcolor="#FFFFFF" width="44">ID</td>
  <td bgcolor="#FFFFFF" width="120">名称</td>
  <td bgcolor="#FFFFFF" width="223">地址</td>
 </tr>
 <volist name='select' id='user' >
 <tr class="content">
  <td bgcolor="#FFFFFF">&nbsp;{$user.id}</td>
  <td bgcolor="#FFFFFF">&nbsp;{$user.user}</td>
  <td bgcolor="#FFFFFF">&nbsp;{$user.address}</td>
 </tr>
 </volist>
</table>
</body>
</html>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>类别输出</title>
<link href="__ROOT__/Public/Css/style.css" rel="external nofollow" rel="external nofollow" rel="stylesheet" type="text/css" />
</head>
<body>
<table width="405" border="1" cellpadding="1" cellspacing="1" bgcolor="#99CC33" bordercolor="#FFFFFF">
 <tr>
  <td colspan="3" bgcolor="#FFFFFF" class="title" align="center">类别输出</td>
 </tr>
 <tr class="title">
  <td bgcolor="#FFFFFF" width="44">ID</td>
  <td bgcolor="#FFFFFF" width="120">类别名称</td>
  <td bgcolor="#FFFFFF" width="223">添加时间</td>
 </tr>
 <volist name='select' id='type' >
 <tr class="content">
  <td bgcolor="#FFFFFF">&nbsp;{$type.id}</td>
  <td bgcolor="#FFFFFF">&nbsp;{$type.typename}</td>
  <td bgcolor="#FFFFFF">&nbsp;{$type.dates}</td>
 </tr>
 </volist>
</table>
</body>
</html>

二 运行结果

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

相关文章

  • CI框架Session.php源码分析

    CI框架Session.php源码分析

    Session类并不使用PHP本身的session,而是使用类自己的session,这样做,可以给开发者提供更大的弹性。下面我们就来仔细分析下CI框架的Session类Session.php文件
    2014-11-11
  • PHP中的traits简单使用实例

    PHP中的traits简单使用实例

    这篇文章主要介绍了PHP中的traits简单使用实例,本文着重讲解traits的语法、traits有什么作用、什么情况下使用traits,需要的朋友可以参考下
    2015-05-05
  • PHP如何使用Memcached

    PHP如何使用Memcached

    memcached是高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。本文给大家介绍PHP如何使用Memcached,感兴趣的朋友一起学习吧
    2016-04-04
  • Yii框架中jquery表单验证插件用法示例

    Yii框架中jquery表单验证插件用法示例

    这篇文章主要介绍了Yii框架中jquery表单验证插件用法,结合实例形式分析了Yii框架中使用jquery表单验证插件进行手机、邮箱等输入信息验证的相关操作技巧,需要的朋友可以参考下
    2016-10-10
  • php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)

    php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)

    下面小编就为大家带来一篇php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • symfony3.4中根据角色不同跳转不同页面功能

    symfony3.4中根据角色不同跳转不同页面功能

    这篇文章主要介绍了symfony3.4中根据角色不同跳转不同页面,在Symfony 3.4中,可以使用安全组件来实现控制不同角色跳转到不同页面的功能,本文通过示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • PHP调用接口API封装的例子

    PHP调用接口API封装的例子

    今天小编就为大家分享一篇PHP调用接口API封装的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • ThinkPHP进程计数类Process用法实例详解

    ThinkPHP进程计数类Process用法实例详解

    这篇文章主要介绍了ThinkPHP进程计数类Process用法,以实例形式较为详细的分析了Process类的定义及进程计数的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • ThinkPHP页面跳转success与error方法概述

    ThinkPHP页面跳转success与error方法概述

    这篇文章主要介绍了ThinkPHP页面跳转success与error方法概述,需要的朋友可以参考下
    2014-06-06
  • PHP GC回收机制实例详解

    PHP GC回收机制实例详解

    GC的全称是Garbage Collection也就是垃圾回收的意思,在PHP中,是使用引用计数和回收周期来自动管理内存对象的,当一个对象被设置为NULL,或者没有任何指针指向时,他就会变成垃圾,被GC机制回收掉,这篇文章主要介绍了PHP GC回收机制详解 ,需要的朋友可以参考下
    2024-01-01

最新评论