Невозможно сериализовать с помощью PDO

Я получаю сообщение об ошибке из-за невозможности сериализации экземпляра PDO, но я понятия не имею, что это значит, и поиск в Google не помог мне понять. Я строю оператор типа PostgreSQL "ON CONFLICT", а затем делаю:

Внутренняя ошибка сервера: вы не можете сериализовать или десериализовать экземпляры PDOStatement

$db = new PDO(...);
$db->query("SET NAMES 'utf8'");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$sql = 'INSERT INTO ... ON CONFLICT ... DO UPDATE ...';
$params = array_merge(array1, array2);
$st = $db->prepare($query);
$st->execute($params);

2 ответа

Хорошо, я только что понял это. Я ошибочно делал возврат execute вызов, и, таким образом, он пытался его сериализовать. Удаление возврата исправило мою проблему.

Я хотел бы сделать это так, чтобы конфликт был вставлен... при обновлении дубликата ключа... если я правильно понял проблему.

Другие вопросы по тегам