Как PDO не может вернуть строку, которую делает pg_query ()?

У меня была таблица с большим сериалом PK, один FK с изменяющимся символом и FK bigint и уникальное ограничение на эти FK, символ с изменяющимся NOT NULL и два пустых строчных буквы.

Все это работало на виртуальной машине с Ubuntu 14.04.2 LTS, PHP 5.5.9 и PostgreSQL 9.3 и всеми другими пакетами из дистрибутива.

я сделал

$pdo->query("SELECT * FROM table")->fetchAll(PDO::FETCH_ASSOC)

а также

$r = pg_query($db, "SELECT * FROM table");
pg_fetch_all($r)

Последний вернул все строки, тогда как первый вернул все строки, кроме одной.

Я попытался выбрать и этот ряд, и пока pg_*() функции работали как положено, PDO не возвращал ни одной строки.

Чтобы сделать это еще более странным, расхождение возникло только в PHP-FPM с lighttpd 1.4.33, но не при запуске с PHP CLI в оболочке.

Как это может быть?
Кто-нибудь еще сталкивался с подобной ситуацией?
И как я могу быть уверен, что PDO не подведет меня снова?

Я даже попытался перезагрузить виртуальную машину и перезапустил PostgreSQL, но результаты не изменились.

К сожалению, у меня нет резервной копии этого материала, потому что я должен был заставить все работать как можно скорее, поэтому я удалил этот загадочный ряд и заменил его новым, идентичным во всех столбцах, кроме PK.

Новый ряд был возвращен правильно обоими.

1

Решение

Задача ещё не решена.

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

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

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