最详细最简单Thinkphp链接数据库-途牛博客

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最详细最简单Thinkphp链接数据库-途牛博客相关的知识,希望对你有一定的参考价值。

学习到 thinkphp 建立一个小实例,就从网上找了一篇文章,本身 thinkphp 是有官网实例的,但老是出错,下面这篇文章还不错,算是最基础的了,从配置文件到连接数据库,然后再到制作模板,读取模板,还有新建 mysql 数据库,都比较详细,thinkphp 底层核心文件不变,如果刚学习可以参照着学习一下。

测试所在系统:WIN7、XP

测试工具:zend studio9

运行平台:WAMP

数据库:mysql

TP测试版本:3.0(强调:3.0之前版本在配置上有很大不同)

1. 配置入口文件

入口文件:与ThinkPHP在同一级别目录下

命名:index.php

index.php

 
  1. <?php  
  2. define( ‘THINK_PATH‘, ‘./ThinkPHP/‘ );  
  3. define( ‘APP_PATH‘, ‘./web3.0/‘ );  
  4. define( ‘APP_NAME‘, ‘web3.0‘ );  
  5. require THINK_PATH.‘ThinkPHP.php‘;  
  6. ?>  

运行结果:看到欢迎界面^_^ Hello,欢迎使用ThinkPHP既配置入口成功。

2. 配置数据库链接方式

文件路径:盘符:\服务器路径\TP3.0WEb\web3.0\Conf

打开config.php文件并修改成以下内容:

 
  1. <?php  
  2. return array(  
  3.  //‘配置项‘=>‘配置值‘  
  4.  ‘DB_TYPE‘=>‘mysql‘,  
  5.  ‘DB_HOST‘=>‘localhost‘,  
  6.  ‘DB_NAME‘=>‘myapp‘,     // 数据库名为myapp  
  7.  ‘DB_USER‘=>‘root‘,  
  8.  ‘DB_PWD‘=>‘‘,  
  9.  ‘DB_PORT‘=>‘3306‘,  
  10.  ‘DB_PREFIX‘=>‘think_‘,  
  11.  // 由于最简单的链接方式,故缩略些功能  
  12. );  
  13. ?>  

数据库名称是myapp,mysql操作方式如下:

<1>.建数据库

CREATE DATABASE `myapp` ;

<2>.建数据表(think_form既是数据表的名称)

 
  1. CREATE TABLE `think_form` (  
  2. `id` smallint(4) unsigned NOT NULL auto_increment,  
  3. `title` varchar(255) NOT NULL,  
  4. `content` varchar(255) NOT NULL,  
  5. `create_time` int(11) unsigned NOT NULL,  
  6. `update_time` int(11) unsigned NOT NULL,  
  7. `status` tinyint(1) unsigned NOT NULL,  
  8. `email` varchar(50) NOT NULL,  
  9. PRIMARY KEY  (`id`)  
  10. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 ;  

<3>.插入数据

INSERT INTO `think_form` (`id`, `title`, `content`, `create_time`, `update_time`, `status`, `email`) VALUES
(1, ‘这是测试数据‘, ‘dfdf‘, 1212724876, 0, 1, ‘[email protected]‘)

3. 配置模块文件

文件路径:激活入口文件后自动生成的文件,此处文件名是web3.0

EG:盘符:\服务器路径\TP3.0WEb\web3.0\Lib\Action\IndexAction.class.php

打开IndexAction.class.php文件,并修改成如下内容:

 
  1. <?php  
  2. // 本类由系统自动生成,仅供测试用途  
  3. class IndexAction extends Action {  
  4.  public function index()  
  5.  {  
  6.   $form = D( ‘Form‘ )->findall();    // 推荐不要使用封装好的数据库查询方法,细节日后更新  
  7.   dump( $form );  
  8.   //$this->display();  
  9.  }  
  10. }  
  11. ?>  

4.配置数据库查询语句文件

文件路径:盘符:\服务器路径\TP3.0WEb\web3.0\Lib\Model

在该文件下建立一个模板文件(不知道这么称对不对)FormModel.class.php

->盘符:\服务器路径\TP3.0WEb\web3.0\Lib\Model\FormModel.class.php

 
  1. <?php  
  2. class FormModel extends Model  
  3. {  
  4.  public function findall()  
  5.  {  
  6.   $sql = ‘SELECT `title` FROM think_form‘;  
  7.   return $this->query( $sql );  
  8.  }  
  9. }  
  10. ?>  

总结:

创建两个文件:入口文件index.php和数据库模板文件FormModel.class.php

修改两个文件:config.php和IndexAction.class.php

最后 http://localhost/TP3.0WEb/index.php/index/index 查看结果。

注明:数据库连接方法仅说明配置和实现的方法,没有说明方法的解释。详细日后更新。

附加:实现MVC方法实现数据库数据提取并显示在html页面中。

5. 建立数据显示模板(html中部分模板替换)

文件路径:盘符:\服务器路径\TP3.0WEb\web3.0\Tpl

在Tpl目录下建立Index(I是大写)文件夹,然后再该文件夹下再建一个index.html(i是小写)文件

->盘符:\服务器路径\TP3.0WEb\web3.0\Tpl\Index\index.html

强调:在2.0中需要在Tpl目录下建立Default文件夹然后再建立Index文件夹,并在Index文件夹下再建立index.html才算配置完毕
在index.html中添加以下内容:

 
  1. <html>  
  2. <head>  
  3.  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  4.  <title>{$title}</title>  
  5. </head>  
  6.   
  7. <body>  
  8.  {$title}  
  9. </body>  
  10. </html>  

运行后可以看见{$title}的内容被替换了

6.修改步骤4的内容,路径不变。

文件路径:盘符:\服务器路径\TP3.0WEb\web3.0\Lib\Model

将FormModel.class.php模板文件中的内容改成如下:

 
  1. <?php  
  2. // 本类由系统自动生成,仅供测试用途  
  3. class IndexAction extends Action {  
  4.  public function index()  
  5.  {  
  6.   //$form = D( ‘Form‘ )->findall();    上下都可以使用  
  7.   $form = M( ‘Form‘ )->select();  
  8.   dump( $form );  
  9.   //$this->assign( ‘title‘, $form[0]["title"] );    两种方法都一样  
  10.   $this->title = $form[0]["title"];  
  11.   $this->display();                // 要在index。html中显示内容必须打开display,然后通过对应的名称和路径实现模板替换  
  12.  }  
  13. }  
  14. ?>  

至此,仅有可以查询的TP数据库操作就已经完成了.

以上是关于最详细最简单Thinkphp链接数据库-途牛博客的主要内容,如果未能解决你的问题,请参考以下文章

最详细的个人博客教程搭建教程,最快5分钟快速搭建简约风格博客

途牛单点登录系统设计

TS爬虫,爬取博客园demo,全网最详细!

途牛网站无线架构变迁实践

数据仓库(13)大数据数仓经典最值得阅读书籍推荐

thinkphp 怎么获取workerman进程连接数