Как изменить класс 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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