类似的问题我之前已经被问过很多次了。但由于我之前提出的任何问题都没有找到解决方案,所以我冒昧地再次提出这个问题。
我的程序使用我创建的一个类来处理程序的所有数据库连接。我之前使用过的几个模块都使用了同一个类,但当我选择使用同一个类创建一个新模块时,警告显示为 -
警告:mysql_query(): 7 在第 49 行的任何地方...都不是有效的 MySQL-Link 资源。
当我通过我创建的函数执行 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
的功能一如既往地正常工作,并且查询也执行得很好。但警告显示的原因我无法理解。有什么帮助吗?
最佳答案
症状表明数据库连接已关闭或删除。寻找不需要的mysql_close()调用您的代码。此外,您还可以使用以下功能来解决该问题:
- > is_resource()和 get_resource_type()确认
$this->connection
是有效的数据类型。 - > mysql_ping()查明数据库连接是否处于事件状态。
如果这是一个罕见的问题,请将内容记录到文件中并等待它再次发生。
关于php - 警告 : mysql_query(): 7 is not a valid MySQL-Link resource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11134746/