㈠ 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];}}
㈡ yii怎樣輸出當前的sql語句的結果
在你的config/main.php中
'components'=>array(
'db'=>array(
'enableParamLogging' => true,//增加這行
),
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CFileLogRoute',
'levels'=>'trace, info error, warning', //日誌標准增加trace, info
),
),
),
)
在你的application.log中可以直接查看, 另外一種方法,也是最方便的就是安裝debugtoolbar擴展,開發必備.
㈢ yii2 yii\db\ActiveRecord find() 和 findBySql()返回結果不同
Customer::findBySql('SELECT * FROM customer')->all()->count();
試試這個
㈣ yii2.0 怎麼列印自動生成的創建sql語句
在config/main.php中
'components'=>array(
'db'=>array(
'enableParamLogging' => true,//增加這行
),
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CFileLogRoute',
'levels'=>'trace, info error, warning', //日誌標准增加trace, info
),
),
),
)
在你的application.log中可以直接查看, 另外一種方法,也是最方便的就是安裝debugtoolbar擴展,開發必備.
㈤ 一句sql語句求解釋,yii框架添加數據時,開啟trace,sql信息如下,這是sql語法嗎求詳細解釋
這是sql語句啊,:yp0對應`goods_name`
依次類推,你一共10個參數所以綁定了從y0到y9 這個使用參數綁定可以防止sql注入
㈥ yii2怎麼自定義指定文件夾日誌地址
自己喜歡放哪都行。 比如我用的是Yii2 高級版的模板 我就比較喜歡在common目錄下新建一個library 然後在下面存放我的類文件, 當然寫的時候,需要使用namespace 使用的時候,use 來導入即可 這個沒有規定,自己喜歡
㈦ yii2 怎麼將程序運行的錯誤日誌輸出
1. 單數據源輸入,直接用sql 做連接
2. 多數據源輸入,(可能是文本或是兩個以上源資料庫),用database join 操作.
3. 三個表以上的多欄位輸出.