这个问题不同于我在SO本身和谷歌搜索结果中发现的检查特定连接是否有效。
我想要的是检查mysql连接是否已经建立。我需要检查一下,因为我有很多模块需要连接才能正常工作。同一个模块有时在没有连接的地方被调用,有时在已经有连接的时候被调用。
您应该简单地使用相同的参数调用mysql_connect
。如果一个相同的连接已经存在,它将被简单地重用。
这是一个懒惰的回答。显然,更好的方法是以一种你知道程序状态的方式来构建你的程序。摆脱过时的mysql_扩展是第一步。使用mysqli或PDO,这两种方法都不支持隐式连接,但需要传递一个表示连接的变量。对于一个健全的、模块化的应用程序结构,这是你无论如何都应该做的,这样你就不会有这些问题了。
我建议使用singleton模式和一些OO。
class Singleton{
private static $instance=null;
public function connection(){
if(self::$instance==null){
self::$instance = mysql_connect();
}
return self::$connection;
}
}
class TableA extends Singleton{
function find($id){
$query="select * from `A` where `id`='$id'";
mysql_query($query, $this->connection());
... // other codes
}
}
希望这将帮助您