php-mysql检查连接是否已经建立


php mysql check if connection is already established

这个问题不同于我在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
    }
}

希望这将帮助您