首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将postgresql与代码点火器连接起来

将postgresql与代码点火器连接起来
EN

Stack Overflow用户
提问于 2015-04-14 15:04:07
回答 6查看 43.6K关注 0票数 7

我是新使用postgresql的,我已经使用Codeigniter一年了。

我有一个小型postgresql数据库,我想从Codeigniter调用它。

在我的database.php文件中,我有这样的设置:

代码语言:javascript
运行
复制
$active_group = 'default';
$query_builder = TRUE;

$db['default'] = array(
'dsn'   => 'pgsql:host=localhost;port=5432;dbname=test;user=postgres;password=aPass',
// 'dsn'    => '',
'hostname' => 'localhost',
'username' => 'postgres',
'password' => 'aPass',
'database' => 'test',
'dbdriver' => '',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
  // 'port' => '5432'
);

在控制器中,我具有以下功能:

代码语言:javascript
运行
复制
public function dbtest(){

    $this->load->database();

    $feeds = $this->db->get('vts_feeds');
    echo $feeds;die();
}

我得到的结果是:

代码语言:javascript
运行
复制
An Error Was Encountered
You have not selected a database type to connect to.

为什么不起作用?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2015-04-14 15:07:56

试着设置,

dbdriver数据库类型。ie: mysql、postgres、odbc等必须用小写指定。

更多信息:guide/database/configuration.html

编辑:在postgres中为PDO尝试此配置

代码语言:javascript
运行
复制
$db['default']['hostname'] = 'pgsql:host=localhost;dbname=yourdb'; //set host
$db['default']['username'] = 'your username'; //set username
$db['default']['password'] = 'your password'; //set password
$db['default']['database'] = 'your database'; //set databse
$db['default']['dbdriver'] = 'pdo'; //set driver here
票数 12
EN

Stack Overflow用户

发布于 2015-04-14 15:35:18

删除'dsn‘字符串并更改为配置数组中的'dbdriver' => 'postgre'

尽管CI文档声明值应该是'postgres',但如果在system>database>drivers中检查目录和文件名,文件夹实际上称为'postgre'、文件名'postgre_driver.php'和类'CI_DB_postgre_driver',因此我们可以假设文档在这里是错误的。奇怪的是,这之前没有抬起它丑陋的头

票数 4
EN

Stack Overflow用户

发布于 2016-10-23 23:20:21

我现在就这么做了。你只要离开:

代码语言:javascript
运行
复制
$db['default']['dsn'] = '';

并设置:

代码语言:javascript
运行
复制
$db['default']['dbdriver'] = 'postgre';
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29630851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档