警告:mysql_query():7不是有效的MySQL-Link资源

时间:2012-06-21 08:58:50

标签: php mysql resources hyperlink

与此类似的问题我之前已被问过很多次。但由于我没有在我面前提出的任何问题中找到解决方案,我冒昧地再次提出问题。

我的程序使用由我制作的类来处理程序的所有数据库连接。我之前使用的几个模块使用了同一个类,但是当我选择使用同一个类创建一个新模块时,警告显示为 -

警告:mysql_query():7不是中的有效MySQL-Link资源... 在第49行。

当我通过我创建的函数执行MySQL查询时发生警告。功能如下 -

public function runquery($_query)
{
  $result = mysql_query($_query,$this -> connection); //line 49
  if (! $result) die(mysql_error());
  else return $result;
}

该函数属于名为mysql的类,并且未被篡改或更改。因此,该功能在技术上应该按预期工作,因为依赖于同一类数据库连接的每个其他模块都可以正常工作。

查询执行成功但是我设法更新表没有问题(警告除外)。主程序中调用runquery()函数的代码块如下 -

$phpmyadmin = new mysql();
$phpmyadmin->connect('localhost', 'root', '');
$phpmyadmin->setdb('test_db');
$result = $phpmyadmin->runquery($Query);
unset($phpmyadmin);

所以mysql的函数和以前一样好用,查询执行得很好。但警告显示我无法理解的原因。有什么帮助吗?

2 个答案:

答案 0 :(得分:3)

症状表明数据库连接已关闭或删除。在代码中查找不需要的mysql_close()次调用。此外,您可以使用以下功能来解决问题:

  1. is_resource()get_resource_type()确认$this->connection是有效的数据类型。
  2. mysql_ping()以确定数据库连接是否处于活动状态。
  3. 如果这是一个罕见的问题,请将内容记录到文件中并等待它再次发生。

答案 1 :(得分:0)

不应该有空格。

$result = mysql_query($_query,$this->connection);