0

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

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

4

2 回答 2

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
    }
}

希望对你有帮助

于 2012-09-12T09:40:17.743 回答
1

您应该简单地mysql_connect使用相同的参数调用。如果已经存在相同的连接,它将被简单地重用。


那是懒惰的答案。显然,更好的方法是以您知道程序状态的方式来构建程序。摆脱陈旧、已弃用的 mysql_ 扩展是第一步。使用 mysqli 或 PDO,它们都不支持隐式连接,但需要您传递一个代表您的连接的变量。无论如何,对于一个健全的模块化应用程序结构,这就是你应该做的,那么你就不会有这些问题了。

于 2012-09-12T09:41:31.370 回答