# 一、數據庫配置文件
我們可以在 <project>/com/option 目錄中 default.php 或則 db.php 定義數據庫連接。
# 二、數據庫默認配置文件定義
~~~
// 數據庫默認連接參數
'db_type' => 'mysql', // 數據庫類型
'db_host' => 'localhost', // 數據庫地址
'db_user' => 'root', // 數據庫用戶名
'db_password' => '', // 數據庫密碼
'db_prefix' => '', // 數據庫表前綴
'db_char' => 'utf8', // 數據庫編碼
'db_name' => '', // 數據庫名字
'db_schema' => '', // 數據庫SCHEMA
'db_port' => 3306, // 端口
'db_dsn' => '', // [優先解析]數據 dsn 解析 mysql://username:password@localhost:3306/dbname
'db_params' => [ ], // 數據庫連接參數
'db_persistent' => FALSE, // 數據庫是否支持長連接
'db_distributed' => FALSE, // 是否采用分布式
'db_rw_separate' => FALSE, // 數據庫讀寫是否分離[注意:主從式有效]
'db_master' => [], // 主服務器
'db_slave' => [], // 副服務器
// 數據庫緩存
'db_cache' => FALSE, // 數據庫查詢是否緩存
'db_meta_cached' => TRUE, // 數據庫元是否緩存
~~~
# 三、數據庫讀寫分離
QueryPHP 允許用戶把一個主數據庫作為寫入、更新以及刪除,例外的附屬服務區作為只讀數據庫。
通過下面這個例子,我們來學習如何配置數據庫讀寫連接的分離:
~~~
'db_type' => 'mysql', // 數據庫類型
'db_host' => 'localhost', // 數據庫地址
'db_user' => 'root', // 數據庫用戶名
'db_password' => '', // 數據庫密碼
'db_prefix' => 'q_', // 數據庫表前綴
'db_char' => 'utf8', // 數據庫編碼
'db_name' => 'demo', // 數據庫名字
'db_port' => 3306, // 端口
'db_master' => [ ],
'db_slave' => [
[
'db_host' => '192.168.1.2' ,
'db_port' => 3306
],
[
'db_host' => '192.168.1.3' ,
'db_port' => 3307
]
],
'db_distributed' => true, // 是否采用分布式
'db_rw_separate' => true // 數據庫讀寫是否分離[注意:主從式有效]
~~~
說明,db_master 為主服務,db_slave 為附屬服務器,其它選項為公共選項公用,如果不同則可以自行在服務器中添加覆蓋。
# 四、使用多數據庫連接
你可以在配置文件預先定義好連接,例如:
~~~
'my_db' = [
'db_type' => 'mysql', // 數據庫類型
'db_host' => 'localhost', // 數據庫地址
'db_user' => 'root', // 數據庫用戶名
'db_password' => '', // 數據庫密碼
'db_prefix' => 'q_', // 數據庫表前綴
'db_char' => 'utf8', // 數據庫編碼
'db_name' => 'demo', // 數據庫名字
'db_port' => 3306, // 端口
'db_master' => [ ],
]
~~~
使用參數名字直接連接
~~~
$arrObj = database::connect( 'my_db' )->select( 'select * from q_test where id = ?', 1);
~~~
訪問原始的 Pdo 實例:
~~~
$objPdo = database::connect()->getPdo( );
~~~
- 關于 QueryPHP
- 獲取 QueryPHP
- 環境要求
- 許可協議 Free
- 執行流程 MVC
- 命名規范 $sName
- 目錄結構 DIR
- 單一入口 index.php
- 響應客戶端請求 URL
- 命名空間與自動載入 Autoload
- 路由
- 路由導入
- 批量導入
- 參數正則
- 分組定義
- 路由綁定
- 路由域名
- 分層控制器
- 默認和初始化APP
- 默認控制器和方法
- url 模式
- url 生成
- url 偽靜態
- url 重寫
- url 重定向
- 控制器綁定
- 方法器分層
- 控制器 __init
- 控制器方法交互
- 模板引擎語法
- C變量輸出 $sName
- C變量支持函數和方法 $sName|trim
- C快捷輸出 ~
- C標簽簡化 Css & Javascript
- C默認值 eq 三元運算符
- C變量運算符 +-
- 變量遞增遞減 ++--
- C循環數據 list
- N變量賦值 assign
- N循環數據 list
- N循環數據高級版 lists
- C循環數據 while
- N循環數據 while
- C循環數據 for
- N循環數據 for
- C條件判斷 if
- N條件判斷 if
- 標簽嵌套無限層級
- N循環流程 break & continue
- N使用 PHP 代碼
- N包含子模板 include
- J模板引擎 intro
- J條件判斷 if
- J循環數據 each
- J變量 & 表達式
- J變量支持函數和方法 hello|test
- J默認值 eq 三元運算符
- J框架前端組件 jquery.queryphp.js
- J前端 CSS 規范
- J前端 JS 規范
- 保護標簽自身 tagself
- 數據庫
- 數據庫配置
- 執行原生 sql 語句
- 數據庫事務
- 數據庫構造器 prefix
- 數據庫構造器 table
- 數據庫構造器 forceIndex
- 數據庫構造器 where
- 數據庫構造器 bind
- 數據庫構造器 join
- 數據庫構造器 union
- 數據庫構造器 orderBy
- 數據庫構造器 groupBy
- 數據庫構造器 having
- 數據庫構造器 distinct
- 數據庫構造器 aggregate
- 數據庫構造器 limit
- 數據庫構造器 forUpdate
- 數據庫構造器 columns
- 數據庫構造器 reset
- 數據庫集合查詢
- 數據庫查詢數據 get
- 數據庫查詢多條數據 getAll
- 數據庫查詢單條數據 getOne
- 數據庫查詢聚合查詢 aggregate
- 數據庫寫入數據 insert
- 數據庫寫入數據 insertAll
- 配置
- 配置格式
- 慣性配置
- 配置文件
- 讀取配置
- 設置配置
- 刪除配置
- 日志
- 日志配置參數
- 日志路徑
- 日志過濾器
- 日志處理器
- 緩存
- 緩存配置參數
- 緩存路徑
- 緩存指定時間
- COOKIE
- COOKIE 配置參數
- 開發調試
- 頁面 trace