Very strange CDbException

I've uploaded my application on server and get the following error:

CDbException


Description





CDbCommand failed to execute the SQL statement: SQLSTATE[HY000]: General error: 2030 This command is not supported in the prepared statement protocol yet


Source File





/****/httpdocs/Yii/db/CDbCommand.php(284)





00272:             if($this->_statement instanceof PDOStatement)


00273:                 $this->_statement->execute();


00274:             else


00275:                 $this->_statement=$this->getConnection()->getPdoInstance()->query($this->getText());


00276:             if($method==='')


00277:                 return new CDbDataReader($this);


00278:             $result=$this->_statement->{$method}($mode);


00279:             $this->_statement->closeCursor();


00280:             return $result;


00281:         }


00282:         catch(Exception $e)


00283:         {


00284: throw new CDbException(Yii::t('yii','CDbCommand failed to execute the SQL statement: {error}',


00285:                 array('{error}'=>$e->getMessage())));


00286:         }


00287:     }


00288: }





Here is the application log:

2009/02/17 12:15:03 [trace] [system.base.CApplication] Loading "log" application component


2009/02/17 12:15:03 [trace] [system.base.CApplication] Loading "urlManager" application component


2009/02/17 12:15:03 [trace] [system.base.CApplication] Loading "request" application component


2009/02/17 12:15:03 [trace] [system.base.CApplication] Loading "db" application component


2009/02/17 12:15:03 [trace] [system.db.CDbCommand] query with SQL: SELECT p.*, s.name shop


                FROM Product p


                INNER JOIN Shop s ON p.shopID=s.shopID


                WHERE p.dtAdded > :dtAdded


                ORDER BY dtAdded DESC


                LIMIT 0, 5


2009/02/17 12:15:03 [trace] [system.db.CDbCommand] query with SQL: SELECT p.*, s.name shop


                FROM Product p


                INNER JOIN Shop s ON p.shopID=s.shopID


                WHERE p.dtReduced > :dtReduced AND p.productID NOT IN (2815,974,845,2263,2975)


                ORDER BY dtReduced DESC, discount DESC


                LIMIT 0,5


2009/02/17 12:15:03 [trace] [system.db.CDbCommand] query with SQL: SELECT p.*, s.name shop


                FROM Product p


                INNER JOIN Shop s ON p.shopID=s.shopID


                WHERE p.productID NOT IN (2815,974,845,2263,2975,64,2923,1922,2269,2656)


                ORDER BY viewsNum DESC


                LIMIT 0,5


2009/02/17 12:15:03 [trace] [system.base.CApplication] Loading "clientScript" application component


2009/02/17 12:15:03 [trace] [system.base.CApplication] Loading "assetManager" application component


2009/02/17 12:15:03 [trace] [system.base.CApplication] Loading "user" application component


2009/02/17 12:15:03 [trace] [system.base.CApplication] Loading "session" application component


2009/02/17 12:15:03 [trace] [system.db.CDbCommand] query with SQL: SELECT c.*, count(p.productID) productsNum


                FROM Category c


                LEFT JOIN Product p ON c.categoryID=p.categoryID


                GROUP BY c.categoryID


2009/02/17 12:15:03 [trace] [system.db.CDbCommand] query with SQL: SHOW COLUMNS FROM `Shop`


2009/02/17 12:15:03 [trace] [system.db.CDbCommand] query with SQL: SHOW CREATE TABLE `Shop`


2009/02/17 12:15:03 [trace] [system.base.CApplication] Loading "coreMessages" application component


2009/02/17 12:15:03 [error] [exception.CDbException] Object id #77 REQUEST_URI=/


2009/02/17 12:15:03 [trace] [system.base.CApplication] Loading "errorHandler" application component

This is very urgent problem, any help is highly appreciated!

Check this:

http://www.yiiframew…73.html#msg2873

may be http://netevil.org/b…using-pdo-mysql

possible solution http://www.yiiframew…837.html#msg837

yes, emulatePrepare helped me, thanks (http://www.yiiframework.com/doc/api/CDbConnection#emulatePrepare)