MySQL 查询不会执行 - Class->Function->Form

Posted

技术标签:

【中文标题】MySQL 查询不会执行 - Class->Function->Form【英文标题】:MySQL query won't execute - Class->Function->Form 【发布时间】: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>";,这样你就可以看到代码一直在做什么。也许根本就不是查询? 抱歉,大家回复晚了,谢谢大家的帮助,问题是服务器(以及我的互联网连接)出​​现故障! 【参考方案1】:

问题是互联网和服务器出现故障。

这已经被排序并且可以操作了。

感谢您在这方面的帮助和支持。

数字媒体人

【讨论】:

【参考方案2】:

试试

error_reporting(E_ALL);

如果一切正常,请尝试从控制台运行此查询,看看会执行多少次查询

在此之前,杀死数据库中的旧进程(显示进程列表并杀死 pid)

【讨论】:

以上是关于MySQL 查询不会执行 - Class->Function->Form的主要内容,如果未能解决你的问题,请参考以下文章

MySQL查询过程

Hibernate框架学习——查询优化

explain命令可能会修改MySQL数据

mysql的优化

MySQL监控及优化

mysql中的慢查询会不会影响速度