yii資料庫連接
① yii框架 CDbConnection failed to open the DB connection 資料庫 鏈接 失敗
我把extension=php_pdo_mysql.dll重新添加後就正常了,可能是mysql組件或者mysqli組件失效,希望對後來人有幫助
② yii2怎麼鏈接到伺服器資料庫
請參考yii2 官網權威指南2.0
資料庫訪問 (DAO)
$db=newyiidbConnection([
'dsn'=>'mysql:host=localhost;dbname=example',
'username'=>'root',
'password'=>'',
'charset'=>'utf8',
]);
//orconfiginthemian-local.php
'db'=>[
'class'=>'yiidbConnection',
'dsn'=>'mysql:host=localhost;dbname=example',
'username'=>'root',
'password'=>'',
'charset'=>'utf8',
],
③ yii2 連接oracle資料庫 怎麼用
操作步驟如下:
1、請先保證oracle可以正常運行。
2、打開Eclipse,找到逗Window地--逗Show View地--逗Other...地
3、在彈出的新窗口中,打開文件夾逗Data Management地找到逗Data Source Explorer地,並單擊逗OK地。
4、這時候,Eclipse主界面下方會多出一個逗Data Source Explorer地標簽欄,在其中逗Database Connections地文件夾圖標上單擊右鍵,選中逗New...地。
5、出現新窗口,找到自己正在使用的資料庫"Oracle",自行起個名字,在此起了"cityinfo"這個名字。然後單擊逗Next>地
6、出現如下窗口時,請單擊右上方圖中所示的符號(位置),注意此步驟。
7、緊接上步,在新的對話框中,找到所使用的oracle版本,建議選用Oracle Thin Driver。
8、找到JAR List,若大家使用的是oracle11,請將其中的ojdbc14給remove掉,否則,Eclipse會不停提示出錯。
9、按著上一步remove掉ojdbc14後,請導入目前正使用的oracle的驅動包,這里用的是oracle11,因此,需要導入ojdbc6,這一驅動包在oracle安裝文件中就有。
10、進入properties標簽欄,輸入自己所建資料庫相關內容,這里在oracle中建的用戶名是逗cityinfo地。這一步各自的信息可能不同,請自行決定。然後單擊逗OK地。
11、上步點擊逗OK地後,會返回前一個窗口,這時,Eclipse會提示要求輸入"user name"用戶名,就是大家所建立的資料庫的名稱,不是任意起的名字。輸入後,可單擊下方的"Test Connection",當提示逗Ping Successed!地時,表示Eclipse和oracle連接成功。然後單擊逗Finish地完成配置。
12、此時,要做的工作就是在Eclipse中,用視圖顯示出所建資料庫中的各表。回到Eclipse主界面,找到如下圖所示位置,在"tables"中,任意表點擊右鍵,選擇逗Data地--"Sample Contents"。
13、出現新的標簽欄SQL Results,裡面顯示的就是資料庫中所存的表的信息。
④ 如何設置yii資料庫的長連接
在配置文件設置屬性:webb/config/main.php中添加persistent或者attributes屬性;
檢測是否成功啟用長連接
可以調用frameworkdbCDbConnection.php下的getPersistent()函數,返回true為啟用成功,false為啟用失敗;如果使用了長連接而長期沒有對資料庫進行任何操作,那麼在timeout值後,mysql
server就會關閉此連接,而客戶端在執行查詢的時候就會得到一個類似於「MySQL server has gone away「這樣的錯誤。
望採納,謝謝!
⑤ yii2怎麼連接sql server
在saas中,多租戶資料庫分庫管理時常常需要自定義資料庫鏈接,並且需要支持在框架載入後再調用資料庫連接。
Yii2 如何定義資料庫連接要注意的是:
即除了使用/Yii::app−>set()外,還需要再多使用下面一句話:/Yii::app->$database->open();
因為在框架載入後再調用時,yii本身並不會幫打開連接。使用如下代碼:
<?php/***User:chenlb*/namespacebackend/moles/monitorMysql/controllers/show;classAllDatabasesextends/yii/base/Action{privatestatic$_conn=[];publicfunctionrun(){//CreateTestDBConnection$db=$this->getDb('資料庫名稱');var_mp($db->getSchema()->getTableSchema('log')->columns['id']->isPrimaryKey);exit;}/***得到資料庫連接*/publicfunctiongetDb($database){if(!isset(self::$_conn[$database])){$connInfo=['class'=>'yii/db/Connection','dsn'=>'mysql:host=HOST_IP;port=3307;dbname='.$database,'username'=>'username','password'=>'password','charset'=>'utf8'];/Yii::$app->set($database,$connInfo);/Yii::$app->$database->open();self::$_conn[$database]=/Yii::$app->$database;}returnself::$_conn[$database];}}
⑥ 如何查看yii2資料庫是否連成功
第一查看config裡面的資料庫配置 是否選擇的是mysql 第二資料庫的賬號密碼是否正確
⑦ Yii2框架操作資料庫的方法分析【以mysql為例】
本文實例講述了Yii2框架操作資料庫的方法。分享給大家供大家參考,具體如下:
准備資料庫
DROP
TABLE
IF
EXISTS
`pre_user`;
CREATE
TABLE
`pre_user`(
`id`
int(11)
AUTO_INCREMENT
PRIMARY
KEY,
`username`
varchar(255)
NOT
NULL,
`password`
varchar(32)
NOT
NULL
DEFAULT
'',
`password_hash`
varchar(255)
NOT
NULL
DEFAULT
'',
`email`
varchar(255)
NOT
NULL
DEFAULT
'',
`status`
smallint(6)
NOT
NULL
DEFAULT
10,
`created_at`
smallint(6)
NOT
NULL
DEFAULT
0,
`updated_at`
smallint(6)
NOT
NULL
DEFAULT
0
)ENGINE=InnoDB
DEFAULT
CHARSET=utf8mb4;
配置連接
config\db.php
<?php
return
[
'class'
=>
'yii\db\Connection',
'dsn'
=>
'mysql:host=localhost;dbname=yii2',
'username'
=>
'root',
'password'
=>
'root',
'charset'
=>
'utf8mb4',
'tablePrefix'
=>
'pre_'
];
查看資料庫連接是否成功
控制器里列印:
var_mp(\Yii::$app->db);
怎麼執行SQL語句?
增刪改
//
接收表單的數據
$username
=
'jack';
$sql
=
"INSERT
INTO
{{%user}}
(username,status)
VALUES
(:username,:status)";
//
返回受影響行數
$row
=
\Yii::$app->db->createCommand($sql,['username'=>$username,'status'=>8])->execute();
//
獲取自增ID
echo
\Yii::$app->db->getLastInsertID();
查詢
$sql
=
"SELECT
*
FROM
{{%user}}
WHERE
id>:id";
//
查詢結果是一個二維數組
$userArr
=
\Yii::$app->db->createCommand($sql,['id'=>1])->queryAll();
//
如果要查詢一個
$user
=
\Yii::$app->db->createCommand($sql,['id'=>1])->queryOne();
//
如果要返回單值
//
例如
select
count(*)語句
$count
=
\Yii::$app->db->createCommand($sql,['id'=>1])->queryScalar();
echo
$count;
更多關於Yii相關內容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結》、《php優秀開發框架總結》、《smarty模板入門基礎教程》、《php面向對象程序設計入門教程》、《php字元串(string)用法總結》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》
希望本文所述對大家基於Yii框架的PHP程序設計有所幫助。
您可能感興趣的文章:Yii2.0高級框架資料庫增刪改查的一些操作Yii2——使用資料庫操作匯總(增刪查改、事務)Yii2資料庫操作常用方法小結Yii2框架實現資料庫常用操作總結Yii2實現跨mysql資料庫關聯查詢排序功能代碼Yii+MYSQL鎖表防止並發情況下重復數據的方法Yii
連接、修改
MySQL
資料庫及phpunit
測試連接Yii實現MySQL多資料庫和讀寫分離實例分析Yii操作資料庫實現動態獲取表名的方法Yii操作資料庫的3種方法
⑧ yii連接mysql 無法打開資料庫連接
第一查看config裡面的資料庫配置 是否選擇的是mysql
第二資料庫的賬號密碼是否正確
⑨ Yii2 如何定義資料庫連接
在saas中,多租戶資料庫分庫管理時常常需要我們自定義資料庫鏈接,並且需要支持在框架載入後再調用資料庫連接。
Yii2 如何定義資料庫連接?
要注意的是:
即除了使用\Yii::app−>set()外,還需要再多使用下面一句話:\Yii:: app−>set()外,還需要再多使用下面一句話:\Yii::app->$database->open();
因為在框架載入後再調用時,yii本身並不會幫我們打開連接。
<?php/**
* User: chenlb
*/namespace backend\moles\monitorMysql\controllers\show;class AllDatabases extends \yii\base\Action{
private static $_conn = []; public function run()
{
// Create Test DB Connection
$db = $this->getDb('資料庫名稱');
var_mp($db->getSchema()->getTableSchema('log')->columns['id']->isPrimaryKey); exit;
} /**
* 得到資料庫連接
*/
public function getDb($database)
{
if(!isset(self::$_conn[$database])){ $connInfo = [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=HOST_IP;port=3307;dbname='.$database, 'username' => 'username', 'password' => 'password', 'charset' => 'utf8'
];
\Yii::$app->set($database, $connInfo);
\Yii::$app->$database->open(); self::$_conn[$database] = \Yii::$app->$database;
} return self::$_conn[$database];
}
}
⑩ yii2 是在什麼時候開始連接資料庫
開始使用資料庫首先需要配置資料庫連接組件,通過添加 db 組件到應用配置實現("基礎的" Web 應用是 config/web.php),DSN( Data Source Name )是數據源名稱,用於指定資料庫信息.如下所示:return [
// ...
'components' => [
// ...
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=mydatabase', // MySQL, MariaDB
//'dsn' => 'sqlite:/path/to/database/file', // SQLite
//'dsn' => 'pgsql:host=localhost;port=5432;dbname=mydatabase', // PostgreSQL
//'dsn' => 'cubrid:dbname=demodb;host=localhost;port=33000', // CUBRID
//'dsn' => 'sqlsrv:Server=localhost;Database=mydatabase', // MS SQL Server, sqlsrv driver