0

所以我有一个直接从浏览器运行的 php 脚本,我得到 2 个错误:

警告:mysql_fetch_object():提供的参数不是有效的 MySQL 结果资源...
警告:mysql_num_rows() 期望参数 1 是资源,在...中给出布尔值

在此脚本中,我进行查询以从我的博客表中选择所有博客:

$result = $this->query("
     SELECT *
     FROM blogs
");

我得到他们的饲料!所以这个脚本需要一点时间来执行,比如 40 秒。在我的表中,我有 100 个博客,每当我运行脚本时,我都会遇到这 2 个错误。

重要提示:如果我像这样更改查询,我不会收到这些错误:

$result = $this->query("
     SELECT *
     FROM blogs
     LIMIT 0,70
");

所以我很确定它与一些系统管理员设置有关。我使用共享主机。因此,当我对所有 100 个博客进行操作时,我会遇到错误,而当我只使用 70 个博客时,我不会。

就像我失去了 mysql conexion 什么的。查询没有错,我将它们打印在屏幕上并在 phpmyadmin 中检查它们并且它们可以工作。

错误之一来自这里:

$result = $this->query("
    SELECT *
    FROM blogs_settings
");

$settings = $this->fetch_object($result);

return $settings->max_feeds;

此函数用于获取最大提要/页面,我得到了该错误,并且该函数没有任何问题。我已将 max_execution_time 设置为 120,但我不知道我还能做什么。

我很确定很多人都遇到了这个错误,如果有人知道,或者猜出问题出在哪里,我相信不仅我会理解。

4

1 回答 1

0

鉴于$result = $this->query(" SELECT * FROM blogs ");不起作用但$result = $this->query(" SELECT * FROM blogs LIMIT 0,70 ");运行良好的事实以及您的其他评论,您是否也查看了允许的最大内存?

想到的另一件事(可能是真的首先想到的)是,select * from blogs如果您有几百条记录,则 a 不应该花 40 秒才能返回。您拥有的这些博客有多大?

编辑:

现在我认为根据您的评论我们正在取得进展

*我没有收到初始查询的错误。在我获得所有提要后,我将它们与对象一起保存在一个数组中。之后,我进行另一个查询以获取将显示在主页中的提要数量。我保存在表 blogs_settings 中的那个数字。在那个查询中我得到了错误*

在进行所有数据库连接的对象中,您是在重复使用该连接还是每次都打开一个新连接?如果是这样,您是否正确释放与数据库的连接?

于 2012-07-20T08:00:55.500 回答