Прежде чем опубликовать этот вопрос, я много искал в Интернете, но не нашел ничего, что могло бы решить мою проблему.
<?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), она вернет данные правильно !!!
Я попытался использовать функции, которые возвращают последнюю ошибку, но ошибка не была показана. Итак, я не знаю, почему это происходит. Это никогда не случалось со мной.
Итак, ребята, что может быть или что я могу сделать, чтобы попытаться обнаружить эту проблему. Благодарю!
Решаемые.
Будьте осторожны при использовании параметра 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);
?>
pg_fetch_array
? Я не вижу ничего плохого в вашем коде. Выvar_dump
вашиdata
сразу после того, как вы ихvar_dump
?FALSE is returned if row exceeds the number of rows in the set, there are no more rows, or on any other error.