當前位置:首頁 » 操作系統 » thinkphp鏈接資料庫

thinkphp鏈接資料庫

發布時間: 2022-08-30 14:56:23

⑴ thinkphp連接資料庫sqlSTATE[HY000] [2002]錯誤怎麼辦

通過查找,是資料庫鏈接的問題。比如,在本地操作,就將資料庫的用戶名,密碼,伺服器地址等相應換成本地的。

⑵ 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'

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

⑶ thinkphp 如何手動連接資料庫

//資料庫配置1
'DB_CONFIG1' = array(
'db_type' => 'mysql',
'db_user' => 'root',
'db_pwd' => '1234',
'db_host' => 'localhost',
'db_port' => '3306',
'db_name' => 'thinkphp'
),
//資料庫配置2
'DB_CONFIG2' => 'mysql://root:1234@localhost:3306/thinkphp';
這樣,設置2個資料庫。切換方法如下:
$this->db(1,"DB_CONFIG1")->query("查詢SQL");
$this->db(2,"DB_CONFIG2")->query("查詢SQL");
這樣來調用,就可以了。至於裡面的參數,你應該了解吧,DB2的配置也可以照第1個那樣寫,主要注意一下調用形式就可以了。希望幫到你
$this->db(1)->table("top_user")->find();
這個是指定表的查詢,M的使用方法:
M("User","think_","DB_CONFIG1")->query("查詢SQL");
think_是表前綴,2個庫肯定不一樣。

⑷ thinkphp5.1連接資料庫

在應用配置目錄或者模塊配置目錄(不清楚配置目錄位置的話參考配置章節)下面的database.php中(後面統稱為資料庫配置文件)配置下面的資料庫參數:

return [
// 資料庫類型
'type' => 'mysql',
// 伺服器地址
'hostname' => '127.0.0.1',
// 資料庫名
'database' => 'thinkphp',
// 資料庫用戶名
'username' => 'root',
// 資料庫密碼
'password' => '',
// 資料庫連接埠
'hostport' => '',
// 資料庫連接參數
'params' => [],
// 資料庫編碼默認採用utf8
'charset' => 'utf8',
// 資料庫表前綴
'prefix' => 'think_',
];
系統默認支持的資料庫type包括:

type 資料庫
mysql MySQL
sqlite SqLite
pgsql PgSQL
sqlsrv SqlServer
type參數支持命名空間完整定義,不帶命名空間定義的話,默認採用\think\db\connector作為命名空間,如果使用應用自己擴展的資料庫驅動,可以配置為:

// 資料庫類型
'type' => '\org\db\Mysql',
表示資料庫的連接器採用 \org\db\Mysql類作為資料庫連接驅動,而不是默認的\think\db\connector\Mysql。

⑸ thinkphp 怎麼連接sqlserver資料庫

到微軟官網下載文件,網址:網路搜索

選擇「SQLSRV20.EXE」,點擊"next"(下一步),進行下載

右鍵解壓到當前目錄,把這兩個文件拷貝到PHP目錄下的ext目錄下

下圖是拷貝後的結果,請參考,不要拷錯了。

打開php-ini 在文件中設置,加上下面兩行代碼,如下圖

下面這里設置為On,保存,重啟服務,如下圖

修改thinkphp配置文件,如下圖

thinkphp控制器文件,隨便查個sqlserver表中的數據,看是否能成功列印,如果成功列印,那麼證明資料庫連接成功。如果不能正確列印,那麼看報錯提示,在按照提示解決問題。

⑹ 怎麼樣配置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;這樣就完成了多庫自由切換時,導致的表前綴問題。

⑺ 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
中調
各個模型了

⑻ thinkphp5 怎麼同時連接mysql和sqlserver 2種資料庫

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

⑼ 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框架實現多資料庫連接,跨數據連接查詢操作示例

熱點內容
安卓手機怎麼找微信隱藏對話 發布:2025-05-14 23:07:47 瀏覽:336
怎麼查看泰拉伺服器ip 發布:2025-05-14 23:03:29 瀏覽:72
c語言學生成績查詢系統 發布:2025-05-14 22:58:30 瀏覽:4
怎麼進別人的伺服器 發布:2025-05-14 22:45:55 瀏覽:772
用編程寫音樂 發布:2025-05-14 22:45:08 瀏覽:782
如何識別電腦的網路配置 發布:2025-05-14 22:38:46 瀏覽:847
pipforpython3 發布:2025-05-14 22:38:34 瀏覽:350
如何把迷你世界的伺服器搞崩 發布:2025-05-14 22:37:15 瀏覽:94
如何讓安卓卡死機 發布:2025-05-14 22:36:27 瀏覽:634
wemall微商城源碼 發布:2025-05-14 22:15:20 瀏覽:804