程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> ThinkPHP連接數據庫及主從數據庫的設置教程,thinkphp主從

ThinkPHP連接數據庫及主從數據庫的設置教程,thinkphp主從

編輯:關於PHP編程

ThinkPHP連接數據庫及主從數據庫的設置教程,thinkphp主從


本文較為詳細的講述了ThinkPHP連接數據庫及主從數據庫的設置方法,在ThinkPHP項目開發中非常實用。具體實現方法如下:

一、項目根目錄上建立config.php

代碼如下所示:

<?php
 if(!defined('THINK_PATH')) exit();
 return array(
  'DB_TYPE'    =>  'mysql',// 數據庫類型  
  'DB_HOST'    =>  'localhost',// 主機
  'DB_NAME'    =>  'aoli',// 數據庫名稱
  'DB_USER'    =>  'root',// 數據庫用戶名
  'DB_PWD'     =>  '',// 數據庫密碼
  'DB_PREFIX'   =>  '',// 數據表前綴
  'DB_CHARSET'   =>  'utf8',// 網站編碼
  'DB_PORT'    =>  '3306',// 數據庫端口
 );
?>

二、設置項目配置文件

\Home\Conf\config.php文件代碼如下:

<?php
 $arr1=array{
  'URL_MODEL'=>2, //pathinfo訪問模式
 };
 $arr2=include './config.php';
 return array_merge($arr1,$arr2); //數組整合
?>

\Admin\Conf\config.php文件代碼如下:

<?php
 $arr1=array{
  'URL_MODEL'=>1, //普通訪問模式 get方式
 };
 $arr2=include './config.php';
 return array_merge($arr1,$arr2); //數組整合
?>

三、主從數據庫設置

該設置比較適合高並發,高負載的大型網站
讀者可以到\ThinkPHP\Common\convention.php中查看默認的系統常量設置

config.php文件設置如下:

<?php
  return array(
  //'配置項'=>'配置值'
  //後台
  'URL_MODE'=>0,
  'DB_TYPE'=>'mysql',
  'DB_HOST'=>'localhost,192.168.1.2',//兩台數據庫服務器
  'DB_PORT'=>'3306',
  'DB_NAME'=>'thinkphptest',//如果數據庫名相同,不用定義多個,如果不相同與服務器依次對應
  'DB_USER'=>'root',
  'DB_PWD'=>'password',
  //表前綴
  'DB_PREFIX'=>'think_',
  //接下來配置主從數據庫
  'DB_DEPLOY_TYPE'=>1,//開啟分布式數據庫
  'DB_RW_SEPARATE'=>ture,//讀寫分離,默認第一台服務器為寫入服務器,其它的只讀取不寫入
  );
?>

在某個action中讀取數據庫文件參數:

  $hh=C('DB_HOST'); //C可以讀取配置文件中的值
  $pp=C('DB_PREFIX');
  $this->assain('h',$hh);
  $this->assain('p',$pp);
  $this->display();

這個action下的tpl:

  數據庫服務器地址:{$h}
  數據庫表前綴:{$p}

希望本文所述方法對大家的ThinkPHP程序設計能有所幫助。


thinkphp主從數據庫的類型可以多個?

據我所知 。可以設置多個數據庫,,但是沒有你這麼設置的。。。。

多看幫助文檔對你有幫助。,幫助文檔上面應該有這個多數據庫的設置。。
 

ThinkPHP中怎連接數據庫[轉]

ThinkPHP中如何連接數據庫操作數據庫之前,我們要建立一個Model。在說Model和Action之前,先交代一下Model和Action的保存位置。Model保存在 程序目錄中lib/Model文件夾中,Action保存在程序目錄中lib/Action文件夾中。ThinkPHP系統默認的Model規則是這樣子 的:Model文件文明名類似“Model類名+Model.class.php,並且Model默認的操作數據庫表名字為我們在config.php中 定義的DB_PREFIX+Model類名,Model類名和文件名需要大寫”在Model文件中,定義一個類,擴展Model類,一般寫法如下class 類名Model extends Model{}那麼,現在我們來定義一個Model吧。由於我們數據庫表名稱為cms_article,class ArticleModel extends Model{}文件保存為ArticleModel.class.php。什麼都不用寫,一個Model已經定義完成了。那麼現在,我們繼續我們的Action知識吧。Action和Model很多的規則很接近,不同的是Action不直接操作數據庫,而是需要通過Model對數據庫進行操作。現在我們來定義一個Action來完成操作。class IndexAction extends Action{function index(){$Article = D(”Article”);}}將文件保存為IndexAction.class.php。OK,現在我們刷新一下首頁,如果沒有任何的提示,那麼恭喜你,數據庫連接Model、 Action定義都是正常的。Action中D方法就是調用Model,Article就是我們剛剛定義的那個 ArticleModel.class.php中的Model類~也就是說在定義Model的同時,我們已經完成了對數據庫的連接和對數據庫表操作的准 備~
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved