Mysql表挂起 - 无法在第149行的/home/my_site/public_html/my_file.php中保存结果集

时间:2010-09-09 18:44:38

标签: php mysql

尝试从我的网站运行脚本时出现以下错误:

警告:mysql_query()[function.mysql-query]:无法在第149行的/home/my_site/public_html/my_file.php中保存结果集

$run_sql = mysql_query("SELECT count(*) from tix_orders where order_id='$uniq_transaction_id'",$conn)

我试过在桌子上分析,做和扩展修复,但问题仍然存在。

2 个答案:

答案 0 :(得分:1)

我从未遇到过这个错误,但发现它似乎来自一个损坏的数据库,但也可能是由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");

这样它只会将它设置为临时的。虽然我认为这是一个bandaid,但仍然建议通过命令行mysqldump通过转储数据重建数据库,因为错误似乎与损坏的表密切相关。

答案 1 :(得分:0)

修复wp_options表对我有用:

cPanel - &gt; phpMyAdmin - &gt;点击wp_options表 - &gt;操作 - &gt;修复