【问题标题】:Issue with postgre database driver in Code IgniterCodeigniter 中的 postgres 数据库驱动程序问题
【发布时间】:2019-01-03 20:13:50
【问题描述】:

我正在尝试使用 CodeIgniter 3.1.9 框架从 PHP 中的 postgreSQL 数据库中查询一个表。问题是我收到错误

A PHP Error was encountered
Severity: Notice

Message: Undefined property: CI_DB_postgre_driver::$db

为什么会出现此错误,我该如何解决?

到目前为止我做了什么。我确定我使用的是正确的端口,我知道 6090 不是默认端口,但那是我的 postgreSQL 数据库正在使用的端口。我在 database.php 文件中提供了连接到 postgreSQL 所需的一切。 我从 php.ini 文件中取消了对这两个的注释:

extension=php_pgsql.dll

extension=php_pdo_pgsql.dll

$db['database_2'] = array(
'dsn'   => '',
'hostname' => 'example01',
'username' => 'user',
'password' => 'pwrandom',
'database' => 'dbrandom',
'dbdriver' => 'postgre',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'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' => '8060');

这里是执行的语句。错误发生在第二条语句上...

$secondDB = $this->load->database('database_2', TRUE);
$secondDB->db->query("SELECT VERSION()")->row('version');

【问题讨论】:

  • 试试print_r($secondDB->query("SELECT VERSION()")->row());

标签: php database postgresql codeigniter


【解决方案1】:

我没有使用 postgre,但错误来自 ->row('version')。您尝试从查询中获取一行,但不要以正确的方式调用它

试试这样:

$secondDB = $this->load->database('database_2', TRUE);
$obj= $this->db->query('SELECT VERSION()');
echo'<pre>';print_r($obj->row()); die();

在我的情况下输出:[VERSION()] =&gt; 5.6.12-log

您还可以仔细查看并打印出对象,以了解其结构:

echo'<pre>';print_r($obj); die();

在我的情况下(mysqli),对象看起来像:

CI_DB_mysqli_result Object
(
    [conn_id] => mysqli Object
        (
            [affected_rows] => 1
            [client_info] => mysqlnd 5.0.11-dev - 20120503 - $Id: 40933630edef551dfaca71298a83fad8d03d62d4 $
            [client_version] => 50011
            //some more 
            [server_info] => 5.6.12-log
            //some more
         )
)

现在你根据这个结构改变-&gt;row('version')

在我的示例中,我会使用:echo $obj-&gt;conn_id-&gt;server_info;die;

现在输出:5.6.12-log

文档中的更多内容:Generating Query Results: result rows

【讨论】:

    猜你喜欢
    • 2021-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-09
    • 1970-01-01
    • 1970-01-01
    • 2015-05-30
    • 2012-06-18
    相关资源
    最近更新 更多