用户
 找回密码
 入住 CI 中国社区
搜索
查看: 12122|回复: 9
收起左侧

[已解决] codeIgniter连接mysql出错,在线等

[复制链接]
发表于 2010-5-24 15:12:25 | 显示全部楼层 |阅读模式
本帖最后由 helloworldok 于 2010-5-24 15:17 编辑

各位大大:
我刚开始学习codeIgniter,想连接mysql数据库,出了问题,看手册没有搞明白
在database.php中添加:
$db['alphatest']['hostname'] = "localhost";
$db['alphatest']['username'] = "root";
$db['alphatest']['password'] = "";
$db['alphatest']['database'] = "alphatest";
$db['alphatest']['dbdriver'] = "mysql";
$db['alphatest']['dbprefix'] = "";
$db['alphatest']['pconnect'] = TRUE;
$db['alphatest']['db_debug'] = TRUE;
$db['alphatest']['cache_on'] = FALSE;
$db['alphatest']['cachedir'] = "";
$db['alphatest']['char_set'] = "utf8";
$db['alphatest']['dbcollat'] = "utf8_general_ci";
///////////////////////////////////////////////////////////
$db['bugs']['hostname'] = "localhost";
$db['bugs']['username'] = "root";
$db['bugs']['password'] = "";
$db['bugs']['database'] = "bug38";
$db['bugs']['dbdriver'] = "mysql";
$db['bugs']['dbprefix'] = "";
$db['bugs']['pconnect'] = TRUE;
$db['bugs']['db_debug'] = TRUE;
$db['bugs']['cache_on'] = FALSE;
$db['bugs']['cachedir'] = "";
$db['bugs']['char_set'] = "lant1";
$db['bugs']['dbcollat'] = "utf8_general_ci";
////////////////////////////////////////////////////
然后就不知道怎么连接这两个数据库了。
手册上说:
如果你需要同时连接多于一个的数据库,你可以用以下方式来实现:

$DB1 = $this->load->database('group_one', TRUE);
$DB2 = $this->load->database('group_two', TRUE);
注意:改变 "group_one" 和 "group_two" 为你指定了连接属性的组名 (或者通过上边说过的连接数组的数组名)。
这个group_one应该怎么写呢?

我是这么做的
在database.php中加入
$group_bugs='bugs';
$group_alpha='alphatest';
控制器中的代码如下:
                $bugs=$this->load->database('group_bugs');
                $alphatest=$this->load->database('group_alpha');
但是提示错误:
An Error Was Encountered
You have specified an invalid database connection group.
 楼主| 发表于 2010-5-24 16:03:17 | 显示全部楼层
顶一下,哪位大哥帮忙杰斯下,谢谢了
发表于 2010-5-24 16:15:56 | 显示全部楼层
本帖最后由 myzingy 于 2010-5-24 16:20 编辑

$bugs=$this->load->database(这里应该是变量吧);
$alphatest=$this->load->database(这里应该是变量吧);
如果是在config中定义$this->config->item('***')应该能取道你的配置
发表于 2010-5-25 00:00:56 | 显示全部楼层
直接使用 bugs 作为参数即可。
我觉得手册说的没什么歧义吧?
 楼主| 发表于 2010-5-25 10:36:12 | 显示全部楼层
回复 4# Hex


  直接使用bugs,我的代码如下:
malpha.php:
<?php
class Alpha extends Controller
{
        public $mBugs="";
        public $mAlphatest="";
        function __construct()
        {
                parent::Controller();
                $this->mBugs=$this->load->database('bugs');
                echo $this->mBugs."Helloworld";
                $this->mAlphatest=$this->load->database('alphatest');
                $this->load->helper("url");
        }
}
?>
其实我开始都是用bugs直接调用,因为一直出错,找不到原因!
这块只输出helloworld,也就是说$this->mBugs=$this->load->database('bugs');这句为空。
这是为什么呢?
发表于 2010-5-25 12:43:02 | 显示全部楼层
PHP复制代码
$this->mBugs=$this->load->database('bugs', true);
 
复制代码

这个手册有明确说明。
 楼主| 发表于 2010-5-25 15:05:57 | 显示全部楼层
回复 6# Hex


    谢谢你的热心帮助,是我粗心了。

这个社区是个很热心的地方,有空一定常来。
发表于 2013-1-29 17:49:40 | 显示全部楼层
Hex 发表于 2010-5-25 00:00
直接使用 bugs 作为参数即可。
我觉得手册说的没什么歧义吧?

我也遇到楼上的问题,提示You have specified an invalid database connection group.???我是填写了两个ip地址的,即是 连接 两台机的 数据库,望指教呀!先谢谢了。
发表于 2013-1-30 09:53:22 | 显示全部楼层
燕孓飝飝 发表于 2013-1-29 17:49
我也遇到楼上的问题,提示You have specified an invalid database connection group.???我是填写了两 ...

贴代码。
发表于 2014-7-8 14:24:56 | 显示全部楼层
楼主 这个问题怎么解决啊 急求

本版积分规则