将postgres连接传递给多个函数

时间:2014-09-15 09:51:29

标签: php postgresql

我想创建一个连接到我的psql DB"函数connectDB(){}"的函数。使用pg_pconnect(),我有多个执行选择/更新查询的函数,我在这些函数中发送连接作为参数=以减少创建多个连接:

function connectDB() {
    $conStr = "host=" . DB_HOST . " dbname=" . DB_NAME . " user=" . DB_USER . "    password=" . DB_PASS;
     $connection = pg_pconnect($conStr);
     return $connection;
}

function selectDB($connection) {
    $ids = '2,34,56,5,555';
    .
    .
    .
    ....
    $query = "SELECT from users where id IN ($ids)";
    $result = pg_query($connection, $query);

}

我收到此错误: 无效的连接资源ID#14 我认为在执行查询之前关闭了连接

1 个答案:

答案 0 :(得分:1)

也许您应该考虑如何在代码中创建数据访问层。像这样的东西

class dal{

private $connection;

function connectDB() {
    $conStr = "host=" . DB_HOST . " dbname=" . DB_NAME . " user=" . DB_USER . "    password=" . DB_PASS;
     $this->connection = pg_pconnect($conStr);
}

function selectDB($ids) {
    .
    .
    .
    ....
    $query = "SELECT from users where id IN ($ids)";
    $result = pg_query($this->connection, $query);
    return $result;
}

}

现在使用此dalin实例代码。 使用行业标准让您的生活更轻松。