尝试从我的网站运行脚本时出现以下错误:
警告:mysql_query() [function.mysql-query]:无法将结果集保存在/home/my_site/public_html/my_file.php 第 149 行
$run_sql = mysql_query("SELECT count(*) from tix_orders where order_id='$uniq_transaction_id'",$conn)
我已经尝试对 table 进行分析、执行和扩展修复,但问题仍然存在。
最佳答案
我从未遇到过这个错误,但发现它似乎来自损坏的数据库,但也可能是由 PHP 引起的,有一个 PHP Databases FAQ这可能有用。
MySQL也有自己的关于Table Maintenance的信息这可能也值得研究。我还听说重新启动 MySQL 服务器可以解决该问题,您也尝试过吗?
真正的问题是,你有备份吗?如果没有,您可以对数据运行转储,然后重新创建数据库,希望这能修复它。我将继续进行我的研究,但这就是我迄今为止所发现的。
编辑
经过更多研究,发现一些人通过运行:SET SQL_BIG_TABLES=1;
解决了这个问题,这应该允许 MySQL 使用额外的内存来保存结果集。我不确定这样做的后果,所以你可能想在 MySQL 中做一些研究,了解它的作用以及如果保留的话可能会发生什么。
但是您向我们提供更多代码、可能的表结构以及您正在运行的查询将有助于更快、更有效地查明错误的根源。
更新
要尝试 SET SQL
代码,请执行以下操作:
谨慎使用并进行研究,因为我不知道这可能会导致什么问题!
mysql_query("SET SQL_BIG_TABLES=1");
$run_sql = mysql_query("SELECT count(*) from tix_orders where order_id='$uniq_transaction_id'",$conn);
mysql_query("SET SQL_BIG_TABLES=0");
这样它只是将其设置为临时的。尽管我认为这是一个创可贴,并且仍然建议通过命令行 mysqldump 转储数据来重建数据库,因为该错误似乎与损坏的表密切相关。
关于php - Mysql 表挂起 - 无法保存第 149 行/home/my_site/public_html/my_file.php 中的结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3679591/