当前位置:首页 > CMS教程 > Thinkphp > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-09-05 16:58:00 浏览: 评论:0 

这篇文章主要介绍了ThinkPHP连接数据库操作,结合实例形式分析了thinkPHP基于DSN方式和数组传参的方式进行数据库连接的实现步骤与属性设置、控制器、模板使用等相关操作技巧,需要的朋友可以参考下。

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

一 代码

1、完成入口函数的编写

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

2、完成控制器的编写

  1. <?php 
  2. header("Content-Type:text/html; charset=utf-8");  //设置页面编码格式 
  3. class IndexAction extends Action{ 
  4.   public function index(){ 
  5.     $db_dsn="mysql://root:root@127.0.0.1:3306/db_database30";    //定义DSN 
  6.     $db = new Db();                       //执行类的实例化 
  7.     $conn=$db->getInstance($db_dsn);               //连接数据库,返回数据库驱动类 
  8.     $select=$conn->query('select * from think_user');      //执行查询语句 
  9.     $this->assign('select',$select);       // 模板变量赋值 
  10.     $this->display();              // 指定模板页 
  11.   } 
  12.   public function type(){ 
  13.     $dsn = array
  14.       'dbms'   => 'mysql'
  15.       'username' => 'root'
  16.       'password' => 'root'
  17.       'hostname' => 'localhost'
  18.       'hostport' => '3306'
  19.       'database' => 'db_database30' 
  20.     ); 
  21.     $db = new Db(); 
  22.     $conn=$db->getInstance($dsn);              //连接数据库,返回数据库驱动类 
  23.     $select=$conn->query('select * from think_type');      //执行查询语句 
  24.     $this->assign('select',$select);       // 模板变量赋值 
  25.     $this->display('type');             // 指定模板页 
  26.   } 
  27. ?> 

3、完成模板编写

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  2. <html xmlns="http://www.w3.org/1999/xhtml"> 
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  5. <title>用户信息输出</title> 
  6. <link href="__ROOT__/Public/Css/style.css" rel="external nofollow" rel="external nofollow" rel="stylesheet" type="text/css" /> 
  7. </head> 
  8. <body> 
  9. <table width="405" border="1" cellpadding="1" cellspacing="1" bgcolor="#99CC33" bordercolor="#FFFFFF"> 
  10.  <tr> 
  11.   <td colspan="3" bgcolor="#FFFFFF" class="title" align="center">用户信息</td> 
  12.  </tr> 
  13.  <tr class="title"> 
  14.   <td bgcolor="#FFFFFF" width="44">ID</td> 
  15.   <td bgcolor="#FFFFFF" width="120">名称</td> 
  16.   <td bgcolor="#FFFFFF" width="223">地址</td> 
  17.  </tr> 
  18.  <volist name='select' id='user' > 
  19.  <tr class="content"> 
  20.   <td bgcolor="#FFFFFF">&nbsp;{$user.id}</td> 
  21.   <td bgcolor="#FFFFFF">&nbsp;{$user.user}</td> 
  22.   <td bgcolor="#FFFFFF">&nbsp;{$user.address}</td> 
  23.  </tr> 
  24.  </volist> 
  25. </table> 
  26. </body> 
  27. </html> 
  28.  
  29. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  30. <html xmlns="http://www.w3.org/1999/xhtml"> 
  31. <head> 
  32. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  33. <title>类别输出</title> 
  34. <link href="__ROOT__/Public/Css/style.css" rel="external nofollow" rel="external nofollow" rel="stylesheet" type="text/css" /> 
  35. </head> 
  36. <body> 
  37. <table width="405" border="1" cellpadding="1" cellspacing="1" bgcolor="#99CC33" bordercolor="#FFFFFF"> 
  38.  <tr> 
  39.   <td colspan="3" bgcolor="#FFFFFF" class="title" align="center">类别输出</td> 
  40.  </tr> 
  41.  <tr class="title"> 
  42.   <td bgcolor="#FFFFFF" width="44">ID</td> 
  43.   <td bgcolor="#FFFFFF" width="120">类别名称</td> 
  44.   <td bgcolor="#FFFFFF" width="223">添加时间</td> 
  45.  </tr> 
  46.  <volist name='select' id='type' > 
  47.  <tr class="content"> 
  48.   <td bgcolor="#FFFFFF">&nbsp;{$type.id}</td> 
  49.   <td bgcolor="#FFFFFF">&nbsp;{$type.typename}</td> 
  50.   <td bgcolor="#FFFFFF">&nbsp;{$type.dates}</td> 
  51.  </tr> 
  52.  </volist> 
  53. </table> 
  54. </body> 
  55. </html>

Tags: ThinkPHP连接数据库 DSN

分享到: