Как изменить класс PHP, чтобы он принимал PgSql\Result в качестве атрибутаPhp

Кемеровские программисты php общаются здесь
Anonymous
Как изменить класс PHP, чтобы он принимал PgSql\Result в качестве атрибута

Сообщение Anonymous »

Мне нужно найти способ (если возможно) заставить класс PHP принимать объект PgSql\Result в качестве атрибута. В PHP 8.1+ ресурс pgsql result перенесен в экземпляр PgSQL\Result. В предыдущих версиях PHP я мог установить атрибут следующим образом:
var $results;
....
$this->results = pg_query($conn, "SELECT author, email FROM authors");


Но теперь эта операция приводит к следующему:

Неустранимая ошибка PHP: неперехваченное исключение: сериализация 'PgSql\Result' запрещено в [нет активного файла]

На этой странице подробно описаны соответствующие изменения, внесенные в PHP 8.1:
https: //php.watch/versions/8.1/PgSQL-resource
Пытался объявить атрибут как объект PgSQL\Result, но безуспешно. Я, наверное, неправильно выразился. Я не особо разбираюсь в ООП.
  • РЕДАКТИРОВАТЬ
Проще говоря , вот над чем я хочу работать - если возможно:
class foo
{
var $results; // or whatever needs to replace 'var' to get it to work with a PgSql\Result object

function __construct()
{
$this->results = pg_query($conn, "SELECT author, email FROM authors");
}
}
---------------------
$x = new foo();
$row = pg_fetch_row($x->results);


Подробнее здесь: https://stackoverflow.com/questions/787 ... -attribute

Вернуться в «Php»