用户
 找回密码
 入住 CI 中国社区
搜索
楼主: orange
收起左侧

连接postgre数据库

[复制链接]
发表于 2008-12-27 14:25:04 | 显示全部楼层
对,楼上说的对

把$db['default']['port'] = "5432";加到database.php配置文件中
 楼主| 发表于 2008-12-29 09:05:51 | 显示全部楼层
$db['default']['port'] = "5432";加到database.php配置文件中
还是不好用。
发表于 2008-12-30 08:40:08 | 显示全部楼层
原帖由 orange 于 2008-12-29 09:05 发表
$db['default']['port'] = "5432";加到database.php配置文件中
还是不好用。



如何不好用?我以前一直在1.5.4版本上使用pgsql
 楼主| 发表于 2008-12-30 08:43:10 | 显示全部楼层
database.php配置文件

$active_group = "default";
$active_record = TRUE;

$db['default']['hostname'] = "xxx.xxx.x.xxx";
$db['default']['port'] = "5432";
$db['default']['username'] = "asd";
$db['default']['password'] = "123";
$db['default']['database'] = "aaa_db";
$db['default']['dbdriver'] = "postgre";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";

构造函数:
    function __construct()
    {
            parent::Controller();       
                $this->load->helper('url_helper');
                $this->load->database();
                $this->load->library('validation');
                $this->load->helper('form');
    }

$this->load->database();
这句过不去,页面打不开,没有出错信息。
 楼主| 发表于 2008-12-30 08:49:46 | 显示全部楼层
会不会和apache配置有关系呢?
发表于 2008-12-30 08:55:04 | 显示全部楼层
原帖由 orange 于 2008-12-30 08:49 发表
会不会和apache配置有关系呢?


看你的配置,没有啥大问题,应该跟apache没关系的,最好把端口放在配置的最下面,然后检查下数据库名是不是错了,这样试试
PHP复制代码
 
$active_group = "default";
$active_record = TRUE;
 
$db['default']['hostname'] = "xxx.xxx.x.xxx";
$db['default']['username'] = "asd";
$db['default']['password'] = "123";
$db['default']['database'] = "aaa_db";
$db['default']['dbdriver'] = "postgre";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";
$db['default']['port'] = "5432";
 
复制代码
 楼主| 发表于 2008-12-30 09:04:55 | 显示全部楼层
这样早就试过了。不行,所以我才换到那得。还是不行。
郁闷死了,2天了,还没弄明白呢!
发表于 2008-12-30 09:21:02 | 显示全部楼层
你端口可能是被占用了,如果也没问题,那就是你环境或者程序的问题,顺便把你php错误提示打开,看看哪错了

我估计你的pgsql不能用,用普通PHP试试
PHP复制代码
 
<?php
$connection = pg_pconnect("host=localhost port=5432 dbname=mydb user=user password=password");
echo is_resource($connection) ? 'Success' : 'Fail';
?>
 
复制代码

[ 本帖最后由 sam 于 2008-12-30 09:27 编辑 ]
 楼主| 发表于 2008-12-30 09:28:49 | 显示全部楼层
是指apache端口么?还是postgre端口?php错误提示怎么打开?
发表于 2008-12-30 09:36:23 | 显示全部楼层
原帖由 orange 于 2008-12-30 09:28 发表
是指apache端口么?还是postgre端口?php错误提示怎么打开?


postgresql的端口

php.ini
display_errors = On
然后看看配置文件中,有没有引入pgsql
extension=php_pgsql.dll

本版积分规则