yii配置資料庫
1. yii1 資料庫配置是哪個文件
公共的資料庫在 /common/config/main-local.php
一般配置這一個就行了,如果前後台不用同一個的話,
前台在 /frontend/config/main-local.php
後台在 /backend/config/main-local.php
2. 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];
}
}
3. yii2.0資料庫配置在什麼位置
公共的資料庫在 /common/config/main-local.php
一般配置這一個就行了,如果前後台不用同一個的話,
前台在 /frontend/config/main-local.php
後台在 /backend/config/main-local.php
這是我的配置
4. yii2讀寫分離需要配置資料庫嗎
'db' => [
'class' => 'yii\db\Connection',
// 配置主伺服器
'dsn' => 'mysql:host=192.168.0.1;dbname=hyii2',
'username' => 'root',
'password' => 'root',
'charset' => 'utf8',
// 配置從伺服器
'slaveConfig' => [
'username' => 'root',
'password' => 'root',
'attributes' => [
// use a smaller connection t
5. 用yii框架做的網站,怎麼配置空間上的mysql資料庫
這個問題有點模糊,總體上看,你的空間一定要支持mysql資料庫,如果支持,你登錄你的mysql直接建立資料庫,然後根據需要建立數據表,然後設置yii文件夾protected裡面config裡面main.php對象的db數組裡面的'connectionString'和『username』、『password』等屬性賦值以連接你的資料庫,便於操控數據表 。
如果是導入表,要看你的情況,如果資料庫還沒有建立好,那麼就要導入表結構,資料庫數據表都是現成的那就要導入表數據。這個過程一般都是藉助第三方工具,如phpmyadmin,Navicat for MySQL等工具。
6. 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種方法
7. yii2 用composer後怎麼配置資料庫
本文實例講述了使用Composer安裝Yii框架的方法。分享給大家供大家參考,具體如下: 現在流行使用Composer安裝PHP框架,Composer是PHP用來管理依賴關系的工具,Yii,Laravel,七牛等框架或服務都用Composer作為安裝的首選工具。
8. 如何設置yii資料庫的長連接
在配置文件設置屬性:webb/config/main.php中添加persistent或者attributes屬性;
檢測是否成功啟用長連接
可以調用frameworkdbCDbConnection.php下的getPersistent()函數,返回true為啟用成功,false為啟用失敗;如果使用了長連接而長期沒有對資料庫進行任何操作,那麼在timeout值後,mysql
server就會關閉此連接,而客戶端在執行查詢的時候就會得到一個類似於「MySQL server has gone away「這樣的錯誤。
望採納,謝謝!
9. yii操作資料庫失敗,請高手指點
看你的代碼,有個地方我看不懂,
1、$model=new User();echo 123;exit;
exit;不是die;的別名嗎?後面的代碼好像不能執行吧....
如果不是這個原因,那麼很可能是對象的安全性問題,不允許你插入數據
解決:在User Model類里
public function rules()
{
return array(
array('name', 'safe'),
),
}
註:大概是這么寫的,我忘記1.x版本的寫法了,你可以參考下官網的中文手冊(模型那一章)
tips:使用yii 的log組件,自己發現問題,解決起來更快(方法你就自己搜索吧)
如果沒有解決,把操作的錯誤描述多一點,看看是不是還有其他的原因
10. 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,裡面顯示的就是資料庫中所存的表的信息。