PHP Yii:数据库在运行时连接(PHP Yii: Database connect in runtime)

编程入门 行业动态 更新时间:2024-10-20 05:45:05
PHP Yii:数据库在运行时连接(PHP Yii: Database connect in runtime)

我想在运行时使用Yii连接到第二个数据库。 用户登录后,数据库名称将来自数据库表。

我在教程中看到我应该这样做:

$db2 = Yii::createComponent(array( 'class' => 'EMongoClient', 'server' => 'mongodb://127.0.0.1:27017', 'db' => $emp['database'] )); Yii::app()->setComponent('db2',$db2);

但在我的控制器中,当我访问Yii::app()->db2得到错误:

未定义属性“CWebApplication.db2”

我究竟做错了什么?

I would like to connect to a second database with Yii at runtime. The database name would come from a database table after the user to login.

I saw in a tutorial I should do this:

$db2 = Yii::createComponent(array( 'class' => 'EMongoClient', 'server' => 'mongodb://127.0.0.1:27017', 'db' => $emp['database'] )); Yii::app()->setComponent('db2',$db2);

But in my controler when I access Yii::app()->db2 get the error:

Property "CWebApplication.db2" is not defined

What am I doing wrong?

最满意答案

以下为我工作:

Yii::app()->mongodb->setActive(false); Yii::app()->mongodb->setServer('mongodb://localhost:27017'); Yii::app()->mongodb->setDb('db1'); Yii::app()->mongodb->setActive(true);

The following works for me:

Yii::app()->mongodb->setActive(false); Yii::app()->mongodb->setServer('mongodb://localhost:27017'); Yii::app()->mongodb->setDb('db1'); Yii::app()->mongodb->setActive(true);

更多推荐

本文发布于:2023-04-28 03:27:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1329772.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据库   Yii   PHP   runtime   connect

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!