當前位置:首頁 » 數據倉庫 » thinkphp資料庫連接池
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

thinkphp資料庫連接池

發布時間: 2022-11-20 04:15:09

1. ThinkPhp怎麼連接Access資料庫

con\config.php 中配置如下 ?php return array( APP_DEBUG = true, DB_TYPE=
pdo, // 注意DSN的配置針對不同的資料庫有所區別 請參考PHP手冊PDO類庫部分
DB_DSN=odbc:driver={microsoft access driver
(*.mdb)};dbq=.getcwd().\\Database\\#fbdb.mdb, DB_USE

con\config.php 中配置如下
<?php
return array(
'APP_DEBUG' => true,
'DB_TYPE'=> 'pdo',
// 注意DSN的配置針對不同的資料庫有所區別 請參考PHP手冊PDO類庫部分
'DB_DSN'=>"odbc:driver={microsoft access driver
(*.mdb)};dbq=".getcwd()."\\Database\\#fbdb.mdb",
'DB_USER'=>'root',
'DB_PWD'=>'',
'DB_PREFIX'=>'wxz_',
);
?>
其中 需修改的有 "\\Database\\#fbdb.mdb"
相對與當前目錄下的資料庫文件位置,其餘的用戶名、密碼和前綴(「wxz_」)根據情況修改

IndexAction.class.php示例代碼
<?php
class IndexAction extends Action {

public function index(){
$r =
M()->query("select * from proct");

print_r($r);
}
}

ThinkPHP 內置了抽象資料庫詎問層,把丌同癿資料庫操作封裝起來,我們叧需要使用公共癿Db 類
迕行操作,而無需針對丌同癿資料庫寫丌同癿代碼和底層實現,Db 類會自勱調用相應癿資料庫驅勱來處
理。目前癿資料庫包括Mysql、SqlServer、PgSQL、Sqlite、Oracle、Ibase、Mongo,也包括對
PDO 癿支持,如果應用需要使用資料庫,必須配置資料庫連接信息,資料庫癿配置文件有多種定丿方式,不支持ACCESS資料庫

2. thinkPHP鏈接資料庫失敗..........

不是系統代碼有問題,是你資料庫有問題.
確認下資料庫地址,賬號,密碼是否正確,資料庫狀態是否正常.

3. thinkphp 怎麼連接sqlserver資料庫

到微軟官網下載文件,網址:網路搜索
選擇「SQLSRV20.EXE」,點擊"next"(下一步),進行下載
右鍵解壓到當前目錄,把這兩個文件拷貝到PHP目錄下的ext目錄下
下圖是拷貝後的結果,請參考,不要拷錯了。
打開php-ini
在文件中設置,加上下面兩行代碼,如下圖
下面這里設置為On,保存,重啟服務,如下圖
修改thinkphp配置文件,如下圖
thinkphp控制器文件,隨便查個sqlserver表中的數據,看是否能成功列印,如果成功列印,那麼證明資料庫連接成功。如果不能正確列印,那麼看報錯提示,在按照提示解決問題。

4. PHP利用pdo_odbc實現連接資料庫示例【基於ThinkPHP5.1搭建的項目】

本文實例講述了PHP利用pdo_odbc實現連接資料庫。分享給大家供大家參考,具體如下:
目的:從sql
server資料庫裡面把某個視圖文件調用出來,以鍵值對的方式顯示在頁面上。
利用pdo
odbc來實現PHP連接資料庫:
在PHP配置文件裡面開啟pdo_odbc.dll服務。重啟Apache伺服器。
在ThinkPHP5.1的項目中在模塊里添加config添加規定好的樣式資料庫:
代碼如下:
<?php
return
[
//
資料庫類型
'type'
=>
'sqlsrv',
//
伺服器地址
'hostname'
=>
'localhost',
//
資料庫名
'database'
=>
'mysql',
//
用戶名
'username'
=>
'sa',
//
密碼
'password'
=>
'123456',
//

'hostport'
=>
'',
//
連接dsn
'dsn'
=>
'odbc:Driver={SQL
Server};Server=localhost;Database=mysql',
//
資料庫連接參數
'params'
=>
[],
//
資料庫編碼默認採用utf8
'charset'
=>
'utf8',
//
資料庫表前綴
'prefix'
=>
'',
//
資料庫調試模式
'debug'
=>
true,
//
資料庫部署方式:0
集中式(單一伺服器),1
分布式(主從伺服器)
'deploy'
=>
0,
//
資料庫讀寫是否分離
主從式有效
'rw_separate'
=>
false,
//
讀寫分離後
主伺服器數量
'master_num'
=>
1,
//
指定從伺服器序號
'slave_no'
=>
'',
//
是否嚴格檢查欄位是否存在
'fields_strict'
=>
true,
//
數據集返回類型
'resultset_type'
=>
'array',
//
自動寫入時間戳欄位
'auto_timestamp'
=>
false,
//
時間欄位取出後的默認時間格式
'datetime_format'
=>
'Y-m-d
H:i:s',
//
是否需要進行SQL性能分析
'sql_explain'
=>
false,
//
Builder類
'builder'
=>
'',
//
Query類
'query'
=>
'\\think\\db\\Query',
//
是否需要斷線重連
'break_reconnect'
=>
false,
//
斷線標識字元串
'break_match_str'
=>
[],
];
?>
在控制器controller裡面建一個控制文件Test.php
代碼如下:
<?php
namespace
app\index\controller;
use
think\Db;
use
think\Controller;
class
Test
extends
Controller
{
public
function
zz(){
$data=Db::view('View_2')->select();
echo
json_encode($data);
}
}
?>
最後調用入口文件即可訪問
http://localhost:81/1111/tp5/public/index/test/zz
我的效果:
[{"111":"123","1112":"LLP","232":"1","ROW_NUMBER":"1"},{"111":"123","1112":"BB","232":"2","ROW_NUMBER":"2"}]
更多關於thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend
FrameWork框架入門教程》及《PHP模板技術總結》。
希望本文所述對大家基於ThinkPHP框架的PHP程序設計有所幫助。
您可能感興趣的文章:ThinkPHP實現多資料庫連接的解決方法tp5(thinkPHP5)框架實現多資料庫查詢的方法ThinkPHP3.1新特性之多資料庫操作更加完善tp5(thinkPHP5)框架連接資料庫的方法示例PHP7使用ODBC連接SQL
Server2008
R2資料庫示例【基於thinkPHP5.1框架】thinkPHP5實現的查詢資料庫並返回json數據實例tp5(thinkPHP5)操作mongoDB資料庫的方法tp5(thinkPHP5)框架資料庫Db增刪改查常見操作總結thinkPHP5框架實現多資料庫連接,跨數據連接查詢操作示例

5. thinkphp如何連接多個資料庫

1、onfig.php文件
'LOAD_EXT_CONFIG'
=>'db,db_config',
//
載入擴展
配置文件
。多個文件用逗號分隔
//其中db.php中放置的是mysql的配置
//db_config放置的是
sqlserver
的配置
2、其中db.php內容如下
return
array(
'DB_TYPE'=>'mysql',
'DB_HOST'=>'
localhost
',
'DB_NAME'=>'your_mysql_dbname',
'DB_USER'=>'your_mysql_user_name',
'DB_PWD'=>'123456',
'DB_PORT'=>'3306',
'DB_PREFIX'=>'',
);
db_config.php內容如下
return
array(
'DB_CONFIG1'
=>
array(
'db_type'
=>
'pdo',
'db_user'
=>
'XX',
'db_pwd'
=>
'XXXXXXXX',
'DB_DSN'
=>
'sqlsrv:Server=XXXXXX;Database=XXXX',
),
);
3、在Lib/Model下新建一個專門的模型
class
SqlsrvModel
extends
Model
{
protected

$
connection

=
'DB_CONFIG1';
}
4、可以在Action
中調
各個模型了

6. ThinkPHP中連接不上資料庫是什麼原因

你不貼代碼,看不出來,ThinkPHP內置了抽象資料庫訪問層,把不同的資料庫操作封裝起來,我們只需要使用公共的Db類進行操作,而無需針對不同的資料庫寫不同的代碼和底層實現,Db類會自動調用相應的資料庫驅動來處理。目前的資料庫包括Mysql、SqlServer、PgSQL、Sqlite、Oracle、Ibase、Mongo,也包括對PDO的支持。

下面是全局定義方式:

'DB_TYPE'=>'mysql',
'DB_HOST'=>'localhost',//伺服器地址
'DB_NAME'=>'thinkphp',//資料庫名
'DB_USER'=>'root',//用戶名
'DB_PWD'=>'123456',//密碼
'DB_PORT'=>3306,//埠
'DB_PREFIX'=>'think_',//資料庫表前綴
'DB_CHARSET'=>'utf8',//字元集'
『DB_DEBUG'=>TRUE,//資料庫調試模式

DB_DSN方式
'DB_DSN'=>'mysql://root:123456@localhost:3306/thinkphp#utf8'

如果採用PDO驅動的話:
'DB_TYPE'=>'pdo',//資料庫類型
'DB_USER'=>'root',//用戶名
'DB_PWD'=>'',//密碼
'DB_PREFIX'=>'think_',//資料庫表前綴
'DB_DSN'=>'mysql:host=localhost;dbname=thinkphp;charset=utf8'

僅供參考,對比下自己的代碼!

7. 怎麼樣配置thinkphp 與本地mysql和sql server同時連接倆個資料庫

thinkphp 同時連接兩個資料庫的配置方法如下:
1、在Db.class.php腳本文件裡面的類增加一個魔術方法__get(),寫法如下:
public function __get($propertyName)
{ return $this->$propertyName;
}
這個方法是用來訪問類中protected $config成員屬性用的。有的人可能會說,直接把protected改成public豈不是更好。這樣只解決了基類的問題,假如,子類也同樣進行了受保護,那要你更改更多的文件,這是我們做IT程序員非常不願意看到的事情。
2、在Model.class.php中的getTableName()方法更改如下:
$tablepre = $this->db->config['tablepre'];
if(empty($this->trueTableName)) {
$tableName??= empty($tablepre) ? $this->tablePrefix : $tablepre;
if(!empty($this->tableName)) {
$tableName .= $this->tableName;
}
else
{
$tableName .= parse_name($this->name);
}
$this->trueTableName? ? =? ?strtolower($tableName);
}
return (!empty($this->dbName)?$this->dbName.'.':'').$this->
trueTableName;這樣就完成了多庫自由切換時,導致的表前綴問題。
/*******************面向對象PDO連接方式*********************/
'DB_TYPE' => 'PDO', // 資料庫類型
'DB_DSN' => 'mysql:host=localhost;dbname=master', // DSN連接。
'DB_USER' => 'root', // 資料庫用戶名
'DB_PWD' => '123456', // 資料庫密碼
'DB_PORT' => '3306', // 資料庫埠
'DB_PREFIX' => 'g_', // 數據表前綴
'DB_CHARSET' => 'utf8', // 資料庫編碼默認採用utf8

8. 多個Thinkphp項目如何共用一個資料庫連接

如果你的多個項目就是只要這1個資料庫,那在多個項目的config.php文件寫資料庫配置,如果你只想某個查詢的時候連接額外的資料庫,model->db("number",$config)->query();數字編號是你第一次連接的時候任意寫1個,下次再用這個連接就不用寫$config,$config就是你要查詢的資料庫配置,具體看手冊-模型-連接資料庫(切換資料庫)

9. ThinkPHP如何連接sqlite資料庫

首先在:ThinkPHP\Lib\Think\Db\Driver中添加DbSqlite.class.php驅動,然後在php5的配置文件中啟用extension=php_sqlite.dll,且這個配置一定要放在最後