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

标签 php mysql

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

警告: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/

相关文章:

php - 如何将表中的数据与当前年份和上一年进行比较

php - 仅从供应商提供的类中隐藏弃用警告

php - sql查询条件

php - 使用 mysql 返回 2 个日期之间的特定元素

php - OpenSSL 还是 Mcrypt? (openssl_encrypt 或 mcrypt_encrypt)

php - 如何创建一个返回该行中某些内容的 Mysql 查询并查找其他类似问题

MySQL 查找未使用的表

mysql - 无法添加或更新子行 : a foreign key constraint fails (`dbName` .`#sql-e77_7`

mysql - 查询 MySQL 期间失去连接

mysql - 使用 Zend_Db_Select 在一个连接中包含多个表