请教Jake,怎么配置多数据库连接都出错,郁闷!

#1 weixiupc

再贴代码:
vod_test.php
define("APP_PATH",dirname(__FILE__));
define("SP_PATH",dirname(__FILE__).'/SpeedPHP');
require("config.php");
$spConfig['controller_path'] = APP_PATH.'/controller/'.basename(__FILE__,".php");
require(SP_PATH."/SpeedPHP.php");
spRun();

config.php
        $spConfig = array(
                'view' => array(  
                        'enabled' => TRUE, // 开启Smarty支持  
                        'config' =>array(  
                                'template_dir' => APP_PATH.'/tpl', // 模板页面所在的目录  
                                'compile_dir' => APP_PATH.'/tmp', // 临时文件编译目录            
                                'cache_dir' => APP_PATH.'/tmp', // 临时文件缓存目录  
                                'left_delimiter' => '<{',  // Smarty左限定符,默认是{  
                                'right_delimiter' => '}>', // Smarty右限定符,默认是}  
                                ),
                ),
);

controller\vod_test\main.php
class main extends spController
{
        function index(){
//        $_dbms = array(  // 数据库连接配置
//            'driver' => 'mssql',                                           // 驱动类型
//            'host' => '192.168.8.254,1433', // 数据库地址,数据库链接字符串
//            'login' => 'sss',                                             // 用户名
//            'password' => '123456',                      // 密码
//            'database' => 'new',                                      // 库名称
//            'prefix' => '',                                          // 表前缀
//            'persistent' => FALSE                                          // 是否使用长链接
//        );

        $_dbmy = array(  // 数据库连接配置
            'driver' => 'mysql',                                           // 驱动类型
            'host' => '192.168.8.247', // 数据库地址,数据库链接字符串
            'port' => '3306',
            'login' => 'root',                                             // 用户名
            'password' => '1',                                            // 密码
            'database' => 'test',                                      // 库名称
            'prefix' => '',                                                  // 表前缀
            'persistent' => FALSE                                          // 是否使用长链接
        );

        // MSSQL驱动实例
        //$dsn_mssql = spClass('db_mssql', $_dbms, SP_PATH.'/Drivers/mssql.php');

        // MYSQL驱动实例
        $dsn_mysql = spClass("db_mysql", $_dbmy, SP_PATH.'/Drivers/mysql.php'); // MYSQL
       }
}
无论哪一个都是数据库连接出错。
Mssql显示:数据库连接错误; 
Mysql显示:数据库链接错误 : Access denied for user 'daemon'@'localhost' (using password: NO)
请教Jake该如何配置?有否简单示例?[忘了说明,Mssql与Mysql单数据库在config.php里配置都是成功的]

2011-03-24 18:12:57

#2 jake

Access denied for user 'daemon'@'localhost' (using password: NO)

从这个错误提示看,并没有使用到你设置的配置$_dbmy,因为这里提示的是用户名daemon。

2011-03-24 20:22:25

#3 weixiupc

谢JAKE回复。请教应如何查找原因与配置?是否不应该在main.php这个文件里配置呢?

2011-03-24 20:32:56

#4 jake

刚才发现教程上面的确有错,修正一下。另外这里附上两个数据库链接的例子。
mutldb.zip

2011-03-24 21:18:28

#5 weixiupc

再次感谢Jake回复,按照示例成功实现多数据库的连接配置。不另发新帖了再问一个问题,通过window.open打开的框架集页面,如何通过spArgs获取到所打开框架集页面上的数据,我用dump($this->spArgs())什么也获取不到,只能获取c与a,不知道是否描述不清,等整理一下新发帖贴上源码。

2011-03-25 17:33:44

#6 jake

如果是没有URLREWRITE的时候,可以
window.open('<{spUrl c=main a=index}>&name=jake&count=100');
如果是URLREWRITE的情况,可以
window.open('<{spUrl c=main a=index}>?name=jake&count=100');

这样就可以获取了。

2011-03-25 18:34:40