Apache 错误日志中的 Postgres 错误消息

Apache 错误日志中的 Postgres 错误消息

我在 Windows 上运行 Apache 2.2、PHP 5.2 和 Postgres 8.2,我在 Apache 的 error.log 文件中看到一些奇怪的内容。有时,我会看到“行号 -1 超出范围 0..-1”的消息反复弹出。与该日志文件中的所有其他行不同,这里没有时间戳或日志级别。只有那个确切的字符串。

通过 Google 搜索,我发现该消息逐字逐句都是常见的 Postgres 错误消息,但不是 Apache 错误。我多次看到这种情况,而且是在不同的服务器上。但我似乎无法重现它。我尝试通过 PHP 向 Postgres 抛出各种错误百出的数据库查询和结果集查询,但似乎没有一个能触发将该行写入日志文件。Postgres 错误有可能出现在我的 Apache 日志文件中吗?如果是,是怎么回事?什么会触发这样的错误消息?

谢谢!

答案1

这个错误是由 PostgreSQL 抛出的,但它是一条发给客户端的消息。在本例中是你的 PHP 脚本。这个脚本试图获取一些不存在的信息。

来自邮件列表

如果程序调用 PQgetvalue()、PQgetlength() 或 PQgetisnull() 时行号为 -1,且结果中没有行,则会发生上述错误。

您的脚本是否总是在对结果集执行某些操作之前检查结果集?

相关内容