我的代码中有多个部分要求我检查是否已建立 mysql 连接。下面我使用的是 if(self::$connection)
,但是 self::connection
似乎总是返回 "Resource id #6"而不是 bool 值 - 我做错了什么?
class mysql_lib{
static $connection;
static function connect($user = FALSE){
if(!$user){
$user = 'mr_update';
}
$password = 'some_password';
self::$connection = mysql_connect('localhost', $user, $password, TRUE);
mysql_select_db('codlife_headfirst2');
}
static function disconnect(){
mysql_close(self::$connection);
}
static function mres($str){
if(!self::$connection){
self::connect('mres');
$str = mysql_real_escape_string($str);
mysql_close(self::$connection);
}
else{
$str = mysql_real_escape_string($str);
}
return $str;
}
...
谢谢!
我的解决方案:断开连接时再次使 $connection 为 false...
static function disconnect(){
mysql_close(self::$connection);
self::$connection = FALSE;
}
最佳答案
只需使用 mysql_ping()方法
Checks whether or not the connection to the server is working. If it has gone down, an automatic reconnection is attempted. This function can be used by scripts that remain idle for a long while, to check whether or not the server has closed the connection and reconnect if necessary.
Returns TRUE if the connection to the server MySQL server is working, otherwise FALSE.
static function isActive() {
return mysql_ping($connection);//returns boolean
}
关于php - 检查 MySQL 连接 (OOP PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3424655/