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

thinkphp資料庫連接失敗

發布時間: 2022-10-07 09:58:55

Ⅰ thinkphp做的項目,上傳到阿里雲的虛擬空間上,出現了資料庫連接失敗,求教什麼情況

清理下緩存~然後查看下密碼是否正確 如果不確定就重置下密碼

Ⅱ ThinkPHP連接不上資料庫

config.php
<?php
return array(
'APP_DEBUG' => true, // 開啟調試模式
'DB_TYPE'=> 'mysql', // 資料庫類型
'DB_HOST'=> 'localhost', // 資料庫朋務器地址
'DB_NAME'=>'test', // 資料庫名稱
'DB_USER'=>'root', // 資料庫用戶名
'DB_PWD'=>'', // 資料庫密碼
'DB_PORT'=>'3306', // 資料庫埠
'DB_PREFIX'=>'think_', // 數據表前綴
);
?>
UserAction.class.php

class UserAction extends Action {

public function registerdo(){
$User = M("user");
if($User->create()) {//如果在這里沒報錯,估計沒什麼問題啊
if( $User-> add()) { //這里是把數據寫入資料庫,要不這樣,你先把 cretate()屏蔽掉,看看能不能寫入
$this -> success();
}
else
{ $this -> error();
}
else
{ $this -> error();
}
}
}
registerdo.html
<html>
<form action="__URL__/registerdo" method="post">
userid<input type="text"/ name="userid">
password<input type="text"/ name="password">
<input type="submit"/>
</form>
</html>

Ⅲ 求助! mac 下mamp環境 thinkphp框架 資料庫連接失敗

你確定你manp的mysql在運行嗎? 打開Terminal(iTerm), 輸入 pgrep mysql 或者 ps aux | grep mysql | grep -v 'grep' | wc -l 看看有沒有輸出,有輸出大於0的數字就是mysql在運行,那就是你配置有問題,如果沒有,就是你mysql沒有運行

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

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

Ⅳ thinkphp 鏈接不上資料庫!

能列印出 bool(false).
表明資料庫應該是連接上了的。

而錯誤應該是數據表名稱不對,或者是數據表前綴不對。

Ⅵ thinkphp中鏈接資料庫為什麼一直報錯,就是下面這個錯,之前用laravel一點問題都沒

該用戶沒有對資料庫有操作許可權或者你的資料庫密碼錯了. 只有這兩種情況. 你再確認一下你的用戶名和密碼是否對應正確,也確認一下該用戶是否有對該資料庫有操作許可權!

希望可以幫到你

Ⅶ 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.驗證欄位

需要驗證的表單欄位名稱,這個欄位不一定是資料庫欄位,也可以是表單的一些輔助欄位,例如確認密碼和驗證碼等等。有個別驗證規則和欄位無關的情況下,驗證欄位是可以隨意設置的,例如expire有效期規則是和表單欄位無關的。

2.驗證規則

要進行驗證的規則,需要結合附加規則,如果在使用正則驗證的附加規則情況下,系統還內置了一些常用正則驗證的規則,可以直接作為驗證規則使用,包括:require欄位必須、email郵箱、urlURL地址、currency貨幣、number數字。

3.錯誤提示

用於驗證失敗後的提示信息定義

4.驗證條件

包含下面幾種情況:

Model::EXISTS_VALIDATE或者0存在欄位就驗證(默認)

Model::MUST_VALIDATE或者1必須驗證

Model::VALUE_VALIDATE或者2值不為空的時候驗證

5.附加規則

配合驗證規則使用,包括下面一些規則:

regex正則驗證,定義的驗證規則是一個正則表達式(默認)

function函數驗證,定義的驗證規則是一個函數名

callback方法驗證,定義的驗證規則是當前模型類的一個方法

confirm驗證表單中的兩個欄位是否相同,定義的驗證規則是一個欄位名

equal驗證是否等於某個值,該值由前面的驗證規則定義

in驗證是否在某個范圍內,定義的驗證規則必須是一個數組

length驗證長度,定義的驗證規則可以是一個數字(表示固定長度)或者數字范圍(例如3,12表示長度從3到12的范圍)

between驗證范圍,定義的驗證規則表示範圍,可以使用字元串或者數組,例如1,31或者array(1,31)

expire驗證是否在有效期,定義的驗證規則表示時間范圍,可以到時間,例如可以使用2012-1-15,2013-1-15表示當前提交有效期在2012-1-15到2013-1-15之間,也可以使用時間戳定義

ip_allow驗證IP是否允許,定義的驗證規則表示允許的IP地址列表,用逗號分隔,例如201.12.2.5,201.12.2.6

ip_deny驗證IP是否禁止,定義的驗證規則表示禁止的ip地址列表,用逗號分隔,例如201.12.2.5,201.12.2.6

unique驗證是否唯一,系統會根據欄位目前的值查詢資料庫來判斷是否存在相同的值。

6.驗證時間

Model::MODEL_INSERT或者1新增數據時候驗證

Model::MODEL_UPDATE或者2編輯數據時候驗證

Model::MODEL_BOTH或者3全部情況下驗證(默認)

示例

protected $_validate = array( array('verify','require','驗證碼必須!'), //默認情況下用正則進行驗證 array('name','','帳號名稱已經存在!',0,'unique',1), // 在新增的時候驗證name欄位是否唯一 array('value',array(1,2,3),'值的范圍不正確!',2,'in'), // 當值不為空的時候判斷是否在一個范圍內 array('repassword','password','確認密碼不正確',0,'confirm'), // 驗證確認密碼是否和密碼一致 array('password','checkPwd','密碼格式不正確',0,'function'), // 自定義函數驗證密碼格式
);

必須結合create()使用

$User = D("User"); // 實例化User對象if (!$User->create()){ // 如果創建失敗 表示驗證沒有通過 輸出錯誤提示信息exit($User->getError());
}else{ // 驗證通過 可以進行其他數據操作
}

項目實例

//自動驗證 protected $_validate = array ( array('name', 'require', '姓名不能為空!', 1, '', 3), array('tel', 'require', '手機號不能為空!', 1, '', 3), array('password', 'require', '密碼不能為空!', 1, '', 1), array('email', 'require', '郵箱不能為空!', 1, '', 3), array('ID_number', 'require', '身份證號不能為空!', 1, '', 3), array('ID_positive', 'require', '身份證正面照不能為空!', 1, '', 1), array('ID_opposite', 'require', '身份證反面照不能為空!', 1, '', 1), array('ID_handle', 'require', '手持身份證照不能為空!', 1, '', 1), array('bankcard', 'require', '銀行卡照片不能為空!', 1, '', 1), array('openbank', 'require', '開戶行不能為空!', 1, '', 3), array('accountname', 'require', '銀行賬戶名不能為空!', 1, '', 3), array('bankaccount', 'require', '銀行賬戶號不能為空!', 1, '', 3), array('tel', '/^d{11}$/', '手機號不合法!', 1, 'regex', 3), array('email', 'email', '郵箱不合法!', 1, '', 3), array('ID_number', '/^(d{15}$|^d{18}$|^d{17}(d|X|x))$/', '身份證號不合法!', 1, 'regex', 3), array('tel', '', '手機號已經存在!', 1, 'unique', 3), // 新增修改時候驗證tel欄位是否唯一 array('email', '', '郵箱已經存在!', 1, 'unique', 3), // email唯一 array('ID_number', '', '身份證號已經存在!', 1, 'unique', 3), // 身份證號唯一
);

說明,只要定義了Model,在任何地方調用,都會進行驗證。很方便。

必須是D方法,才會有效。M方法不會觸發自動驗證。

Ⅹ ThinkPHP為什麼連接不成功資料庫

你測試的時候用的庫名是 test1,你配置文件寫得 test,這個資料庫是真實存在的嗎?