PHP-функция pg_fetch_object, возвращающая false

1

Прежде чем опубликовать этот вопрос, я много искал в Интернете, но не нашел ничего, что могло бы решить мою проблему.

<?php
   $result=pg_query($this->conn_link,$strSqlQuery) or die(pg_last_error());
   if($result)
      $data=pg_fetch_object($result);
?>

Итак, после выполнения вышеописанного кода значение $data является ложным, используя var_dump(). Странно то, что если я скопирую строку sql и выполняю непосредственно на SGBD (Sql Manager 2007), она вернет данные правильно !!!

Я попытался использовать функции, которые возвращают последнюю ошибку, но ошибка не была показана. Итак, я не знаю, почему это происходит. Это никогда не случалось со мной.

Итак, ребята, что может быть или что я могу сделать, чтобы попытаться обнаружить эту проблему. Благодарю!

  • 0
    что произойдет, если вы используете pg_fetch_array ? Я не вижу ничего плохого в вашем коде. Вы var_dump ваши data сразу после того, как вы их var_dump ?
  • 0
    Вы пробовали точно такой же запрос, те же параметры, ... ?? Причина, по которой документ говорит только: FALSE is returned if row exceeds the number of rows in the set, there are no more rows, or on any other error.
Показать ещё 6 комментариев
Теги:

1 ответ

0
Лучший ответ

Решаемые.

Будьте осторожны при использовании параметра pg_query без параметра conection, он подберет коннектор по умолчанию, который может привести к неправильному подключению (например, к другому подключению базы данных), и ваш запрос не удастся.

Для меня я заставил переконфигурировать с bd перед выполнением запроса, и он работал красиво.

<?php
   $bd->conect();
   $result=pg_query($this->conn_link,$strSqlQuery) or die(pg_last_error());
   if($result)
      $data=pg_fetch_object($result);
?>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню