这是我要尝试的操作:我有一个执行所有数据库操作的db.php文件。
它有2种静态方法,连接和断开连接。
在我的其他文件中,我只是使用db :: connect()和db :: deconnect()。断开连接方法中的mysql_close($ con)只是不知道谁是$ con。
由于我不想实例化我的课程,因此静态是唯一的方法。
在类db中声明“ private $ con”似乎没有任何效果。
有任何想法吗?
class db {
public static function connect() {
$dbData = parse_ini_file($_SERVER['DOCUMENT_ROOT'].'/config.ini');
$con = mysql_connect($dbData['host'],$dbData['user'],$dbData['pass']);
$db = mysql_select_db($dbData['db']);
if ((!$con) || (!$db))
return 0;
else return 1;
}
public static function deconnect() {
mysql_close($con);
}
}
最佳答案
在deconnect
中,$con
超出范围。
您应该将其设为静态成员,如下所示:
class db {
static $con;
public static function connect() {
$dbData = parse_ini_file($_SERVER['DOCUMENT_ROOT'].'/config.ini');
self::$con = mysql_connect($dbData['host'],$dbData['user'],$dbData['pass']);
$db = mysql_select_db($dbData['db']);
if ((!self::$con) || (!$db))
return 0;
else return 1;
}
public static function deconnect() {
if( !isset( self::$con ) ) return;
mysql_close( self::$con );
}
}