与此类似的问题我之前已被问过很多次。但由于我没有在我面前提出的任何问题中找到解决方案,我冒昧地再次提出问题。
我的程序使用由我制作的类来处理程序的所有数据库连接。我之前使用的几个模块使用了同一个类,但是当我选择使用同一个类创建一个新模块时,警告显示为 -
警告: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
的函数和以前一样好用,查询执行得很好。但警告显示我无法理解的原因。有什么帮助吗?
答案 0 :(得分:3)
症状表明数据库连接已关闭或删除。在代码中查找不需要的mysql_close()次调用。此外,您可以使用以下功能来解决问题:
$this->connection
是有效的数据类型。如果这是一个罕见的问题,请将内容记录到文件中并等待它再次发生。
答案 1 :(得分:0)
不应该有空格。
$result = mysql_query($_query,$this->connection);