【发布时间】:2015-04-21 10:51:09
【问题描述】:
我已经构建了一个查询 ($query_q = "SELECT * FROM `table`;") 并尝试在函数中执行它。
public function read_from_table() {
$query_q = "SELECT * FROM `table`";
$query_a = mysql_query($query_q);
while (mysql_fetch_array($query_a)) {
echo "Did it!";
//OR AS TRIED ANOTHER WAY
return "Did it!";
}
}
并这样称呼:
echo $classInstance->read_from_table();
//OR AS TRIED ANOTHER WAY
$classInstance->read_from_table();
函数和类的制作方法都试过了,但还是没有结果。
我收到的错误是执行时间已超过 30 秒的限制,所以我添加了 ini_set('max_execution_time', 0);(知道这完全消除了时间限制)以查看查询是否会执行,它现在已经运行了 30分钟没有生命迹象。为什么查询没有执行?
其他 cmets:
- 我知道我正在使用已弃用的 mysql_* 函数,这是应客户要求,将在网站上线后更新,并完成到我准备将其全部更改为 mysqli-> * 函数。
- 我正在调用的表(它的名称已被删除并替换为
`table`)只有 9 行,因此这不会对执行时间造成很大影响(或者会影响吗?)。 - 我不得不从函数中删除所有敏感信息以满足客户和我的雇主的要求。请记住,我不能透露以及客户和我的雇主不想透露的信息。
【问题讨论】:
-
在您执行此操作之前,您确定
mysql_connect()已成功打开链接吗? -
如我所见,这段代码没有问题。因此,如果数据库已连接,它应该可以工作。也许那些被删除的信息中有一些东西。如果你只运行这个sn-p,它有效吗?另外,在文件顶部使用
error_reporting(E_ALL);和ini_set('display_errors', 1);来检查可能是什么错误。 -
你也可以在每一行或代码块后面加上
echo "step <number>";,这样你就可以看到代码一直在做什么。也许根本就不是查询? -
抱歉,大家回复晚了,谢谢大家的帮助,问题是服务器(以及我的互联网连接)出现故障!