Я хочу соединить инфраструктуру YII с двумя базами данных, но он выдает сбой CDbConnection Неправильное имя базы данных

я использовал этот учебник по соединению YII с двумя базами данных

Я добавил строку подключения в
protected/config/main.php
что следующим образом

'db2'=>array(
'connectionString' => 'mysql:host=localhost;port=3306;dbname=db_name ',
'emulatePrepare' => true,
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'class' => 'CDbConnection'
),

Я создал файл под

protected/component/AltActiveRecord.php
файл класса и код в этом файле

`

abstract class AltActiveRecord extends CActiveRecord
{
const BELONGS_TO='CBelongsToRelation';
const HAS_ONE='CHasOneRelation';
const HAS_MANY='CHasManyRelation';
const MANY_MANY='CManyManyRelation';
const STAT='CStatRelation';
public static $db2;

private static $_models=array();

private $_md;
private $_new=false;

private $_attributes=array();

private $_related=array();

private $_c;

private $_pk;

public function getDbConnection()
{
if(self::$db2!==null)
return self::$db2;
else
{self::$db2 = new CDbConnection();
foreach(Yii::app()->db2 as $key => $value)
self::$db2->$key = $value;if(self::$db2 instanceof CDbConnection)
{
self::$db2->setActive(true);
return self::$db2;
}
else
throw new CDbException(Yii::t('yii','Active Record requires a "db" CDbConnection application component.'));
}
}
}
`

Я создал модель, которая распространяется на этот класс, и попытался создать объект этой модели в контроллере.
но это заканчивается ошибкой, которая говорит

CDbConnection failed to open the DB connection: SQLSTATE[HY000] [1102] Incorrect database name "db_name"

Мне интересно, почему это не работает.
Это связано с версией php или yii

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]