php mysql检查连接是否已建立

时间:2012-09-12 09:34:14

标签: php mysql

这个问题不同于检查我在SO本身和Google搜索结果中找到的特定连接是否存在。

我想要的是检查是否已经建立了mysql连接。我需要检查一下,因为我有很多需要连接功能的模块。有时会在没有连接的情况下调用相同的模块,有时在已经建立连接时调用。

2 个答案:

答案 0 :(得分:1)

我建议使用单例模式和一些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
    }
}

希望能帮到你

答案 1 :(得分:1)

您只需使用相同的参数调用mysql_connect即可。如果已存在相同的连接,则只需重复使用。


那是懒惰的回答。显然,更好的方法是以一种您知道程序状态的方式构建程序。摆脱古老的,已弃用的mysql_扩展是第一步。使用mysqli或PDO,它们都不支持隐式连接,但要求您提供代表连接的变量。无论如何,对于一个理智的模块化应用程序结构,你应该做什么,那么你就不会有这些问题。