передать postgres соединение нескольким функциям

Я хочу создать функцию, которая подключается к моей psql DB «function 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);

}

получаю эту ошибку:
неверный идентификатор ресурса соединения № 14
Я думаю, что соединение закрывается до выполнения запроса

0

Решение

Возможно, вам следует подумать, как сделать слой доступа к данным в вашем коде. Что-то вроде этого

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 вашего кода.
Используйте отраслевые стандарты, чтобы сделать вашу жизнь проще.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]