㈠ 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. 三个表以上的多字段输出.