river_L 2014-10-21 08:33:42 4479次浏览 1条回复 0 0 0

1)学习 yii 框架,依据 “Yii1.1和PHP5进行敏捷Web开发”做一个连接数据库的例子:

------------------代码 开始 --------------------

 class DbTest extends CTestCase
{
 public function testConnection(){
    # $this->assertTrue(true);
      $this->assertNotEquals(NULL,Yii::app()->db); 
 }  
 };
?>

使用 phpunit 测试,出现如下信息: cDbconnection failed to open the db connection ------------------代码 结束--------------------

如果单独创建php页面,使用 此方法:

 $db_connect=new PDO("mysql:host=localhost;dbname=trackstar_dev", "root", "123") 
 or die("Unable to connect to the MySQL!"); 

连接正常

运行环境: Apache/2.2.21 (Win32) PHP/5.3.10 Yii Framework/1.1.16

---------phpinfo()信息如下:

Configuration File (php.ini) Path 

PDO
PDO support enabled 
PDO drivers  mysql, sqlite  

pdo_mysql
PDO Driver for MySQL enabled 
Client API version  mysqlnd 5.0.8-dev - 20102224 - $Revision: 321634 $  

----------yii/requirements/index.php----------------

PHP版本  通过  Yii Framework  PHP 5.1.0或更高版本是必须的。  
$_SERVER变量  通过  Yii Framework     
Reflection扩展模块  通过  Yii Framework     
PCRE扩展模块  通过  Yii Framework     
SPL扩展模块  通过  Yii Framework     
DOM扩展模块  通过  CHtmlPurifier, CWsdlGenerator     
PDO扩展模块  通过  所有和数据库相关的类     
PDO SQLite扩展模块  通过  所有和数据库相关的类  Required for SQLite database.  
PDO MySQL扩展模块  通过  所有和数据库相关的类  Required for MySQL database.  
PDO PostgreSQL扩展模块  未通过  所有和数据库相关的类  Required for PostgreSQL database.  
PDO Oracle extension  未通过  所有和数据库相关的类  Required for Oracle database.  
PDO MSSQL extension (pdo_mssql)  未通过  所有和数据库相关的类  Required for MSSQL database from MS Windows  
PDO MSSQL extension (pdo_dblib)  未通过  所有和数据库相关的类  Required for MSSQL database from GNU/Linux or other UNIX.  
PDO MSSQL extension (pdo_sqlsrv)  未通过  所有和数据库相关的类  Required for MSSQL database with the driver provided by Microsoft.  
PDO ODBC extension  未通过  所有和数据库相关的类 

---------------------database.php---配置信息

<?php

// This is the database connection configuration.
//'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db',
return array(
	
	// uncomment the following lines to use a MySQL database
	 
	'connectionString' => 'mysql:host=localhost;dbname=trackstar_dev',
	'emulatePrepare' => true,
	'username' => 'root',
	'password' => '123',
	'charset' => 'utf8',
   'class' => 'CDbConnection',
	 
); 

求解决方法,谢谢!

  • 回复于 2014-10-22 13:32 举报

    Yii::app()->getComponent('db')
    这样来获取数据库组件试试.

您需要登录后才可以回复。登录 | 立即注册