两个数据库切不了

#1 php小菜菜

class change_db extends spController {

    function index() {


        $dsn_mysql1 = spClass('db_mysql', array(array(
                'host' => 'localhost',
                'login' => 'root', // 数据库用户名
                'password' => '123456', // 数据库密码
                'database' => 'shw' // 数据库的库名称
            )), SP_PATH . '/Drivers/mysql.php', TRUE);



        $dsn_mysql = spClass('db_mysql', array(array(
                'host' => 'localhost',
                'login' => 'root', // 数据库用户名
                'password' => '123456', // 数据库密码
                'database' => 'shw_order' // 数据库的库名称
            )), SP_PATH . '/Drivers/mysql.php', TRUE);




       // $g = spClass('cc');
    //    $g->_db = $dsn_mysql;
        $g = spClass('cc');
         $result =$g->findAll();         
         $g->_db = $dsn_mysql1;
        $k = spClass('m_user');
        $result1 =$k->findAll();   
       // var_dump($g);
         print_r($result1);


为什么两个数据库切不了  始终都是默认下面的一个数据库

求帮助

2014-06-06 16:27:28

#2 php小菜菜

始终显示是第二个数据库

2014-06-06 16:30:24

#3 jake

这个逻辑有问题吧,$g改了后用$k,挺乱的。

给个建议:可以在你的cc和m_user的类里面直接对_db赋值,这样就可以做到不同的数据对象用不同的库了。

http://www.speedphp.com/thread-3794-1-1.html

另外,最好搜索一下论坛看看,有不少切换数据库的例子。

2014-06-06 17:47:27

#4 php小菜菜

已经解决了  直接在类里面加数据库名

默默问下  在类里面  对_db 如何赋值

2014-06-06 17:58:59

#5 php小菜菜

jake 发表于 2014-6-6 17:47
这个逻辑有问题吧,$g改了后用$k,挺乱的。

给个建议:可以在你的cc和m_user的类里面直接对_db赋值,这样 ...
[table=98%]
[tr][td]已经解决了  直接在类里面加数据库名

默默问下  在类里面  对_db 如何赋值



还有如何给类传参


因为有个数据库的表很多 不想每一个表都生成一个类  。可有类似的公用类。。[/td][/tr]
[/table]

2014-06-06 18:01:09

#6 php小菜菜

class m_cc extends spModel
{
  var $pk = "id"; // 每个留言唯一的标志,可以称为主键

//  var $table ; // 数据表的名称
  

function __construct(){
       
        $this->table='order.order_'.$_REQUEST['id'];
        parent::__construct();
}
  

}

已解决

2014-06-06 18:16:17