2012-09-12 53 views
0

这个问题与检查特定连接是否存在以及我在SO本身和Google搜索解析中找到的不同。php mysql检查连接是否已经建立

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

回答

1

你应该简单地调用mysql_connect具有相同的参数。如果一个相同的连接已经存在,它将被重用。


这是懒惰的答案。显然,更好的方法是以一种知道程序状态的方式来构建程序。摆脱陈旧的,不推荐的mysql_扩展是第一步。使用mysqli或PDO,两者都不支持隐式连接,但需要您提供一个代表连接的变量。无论如何,这就是你应该做的一个理性和模块化的应用程序结构,那么你就不会有这些类型的问题。

1

我建议使用单例模式和一些面向对象。

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

希望这将有助于你