Error creating models

I’ve got this error creating models with Gii:

PHP Error

Description

Source File

C:\inetpub\wwwroot\yii\framework\db\CDbConnection.php(310)

00298: * @since 1.0.4

00299: */

00300: protected function createPdoInstance()

00301: {

00302: $pdoClass=‘PDO’;

00303: if(($pos=strpos($this->connectionString,’:’))!==false)

00304: {

00305: $driver=strtolower(substr($this->connectionString,0,$pos));

00306: if($driver===‘mssql’ || $driver===‘dblib’)

00307: $pdoClass=‘CMssqlPdoAdapter’;

00308: }

00309: return new $pdoClass($this->connectionString,$this->username,

00310: $this->password,$this->_attributes);

00311: }

00312:

00313: /**

00314: * Initializes the open db connection.

00315: * This method is invoked right after the db connection is established.

00316: * The default implementation is to set the charset for MySQL and PostgreSQL database connections.

00317: * @param PDO the PDO instance

00318: */

00319: protected function initConnection($pdo)

00320: {

00321: $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

00322: if($this->emulatePrepare && constant(‘PDO::ATTR_EMULATE_PREPARES’))

Stack Trace

#0 C:\inetpub\wwwroot\yii\framework\db\CDbConnection.php(310): PDO->__construct()

#1 C:\inetpub\wwwroot\yii\framework\db\CDbConnection.php(261): CDbConnection->createPdoInstance()

#2 C:\inetpub\wwwroot\yii\framework\db\CDbConnection.php(242): CDbConnection->open()

#3 C:\inetpub\wwwroot\yii\framework\db\CDbConnection.php(221): CDbConnection->setActive()

#4 C:\inetpub\wwwroot\yii\framework\base\CModule.php(363): CDbConnection->init()

#5 C:\inetpub\wwwroot\yii\framework\base\CModule.php(86): CWebApplication->getComponent()

#6 C:\inetpub\wwwroot\yii\framework\gii\generators\model\ModelCode.php(51): CWebApplication->__get()

#7 C:\inetpub\wwwroot\yii\framework\web\CFormModel.php(40): ModelCode->init()

#8 C:\inetpub\wwwroot\yii\framework\gii\CCodeGenerator.php(149): ModelCode->__construct()

#9 C:\inetpub\wwwroot\yii\framework\gii\CCodeGenerator.php(61): ModelGenerator->prepare()

#10 C:\inetpub\wwwroot\yii\framework\web\actions\CInlineAction.php(50): ModelGenerator->actionIndex()

#11 C:\inetpub\wwwroot\yii\framework\web\CController.php(300): CInlineAction->run()

#12 C:\inetpub\wwwroot\yii\framework\web\CController.php(278): ModelGenerator->runAction()

#13 C:\inetpub\wwwroot\yii\framework\web\CController.php(257): ModelGenerator->runActionWithFilters()

#14 C:\inetpub\wwwroot\yii\framework\web\CWebApplication.php(324): ModelGenerator->run()

#15 C:\inetpub\wwwroot\yii\framework\web\CWebApplication.php(121): CWebApplication->runController()

#16 C:\inetpub\wwwroot\yii\framework\base\CApplication.php(135): CWebApplication->processRequest()

#17 C:\inetpub\wwwroot\yii\htdocs\index.php(13): CWebApplication->run()

I’ve configured main.php for MySQL:

‘db’=>array(

'connectionString' => 'mysql:host=localhost;dbname=sat_gps',


'emulatePrepare' => true,


'username' => 'root',


'password' => '',


'charset' => 'utf8_general_ci',

)

What’s wrong??

I answer myself, searching on this forum I found the solution: changing localhost for 127.0.0.1 in main config file.

localhost is not always equal to 127.0.0.1 ;)

In my case, it’s the same. When I type both on my explorer, I see same main web page from my IIS Server.

By default, localhost is an alias of the IP 127.0.0.1. Of course, you may edit your hosts file to change it.