Я хочу создать функцию, которая подключается к моей 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
Я думаю, что соединение закрывается до выполнения запроса
Возможно, вам следует подумать, как сделать слой доступа к данным в вашем коде. Что-то вроде этого
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 вашего кода.
Используйте отраслевые стандарты, чтобы сделать вашу жизнь проще.
Других решений пока нет …