21,886
社区成员
发帖
与我相关
我的任务
分享
class mydatabase{
private $linkid;
public function __construct(){
$dbConfig = include("../data/a.php");
$linkid = mysql_connect($dbConfig['myhost'], $dbConfig['myuser'], $dbConfig['mypwd']);
}
function opendata($database, $charset='utf8'){
mysql_select_db($database, $this->linkid);
mysql_query("set names $charset", $this->linkid);
}
}
1、参数文件文件敏感,不应保存在对象中。需要时加载,用完就丢
2、一个数据库类只对应一个数据库连接,所以数据库连接应在构造函数中完成
3、opendata 方法只负责选择数据库和字符集设置,任务单一
<?php
define('MYHOST', 'localhost');
define('MYUSER', 'cccc');
define('MYPWD', '123456');
?>
<?php
require_once("../data/a.php");
class mydatabase{
private $myhost;
private $myuser;
private $mypwd;
public function __construct(){
$this->myhost = MYHOST;
$this->myuser = MYUSER;
$this->mypwd = MYPWD;
}
function opendata($database){
$linkid = mysql_connect($this->myhost, $this->myuser, $this->mypwd);
}
}
?>
第二种,用config数组
../data/a.php
<?php
return array(
'myhost' => 'localhost',
'myuser' => 'cccc',
'mypwd' => '123456'
);
<?php
class mydatabase{
private $dbConfig = array();
public function __construct(){
$this->dbConfig = require_once("../data/a.php");
}
function opendata($database){
$this->__construct();
$linkid = mysql_connect($this->dbConfig['myhost'], $this->dbConfig['myuser'], $this->dbConfig['mypwd']);
}
}
?>
require_once("../data/a.php");
class mydatabase {
// 链接数据库
function opendata($database) {
//方法一
global $dbhost , $dbname , $dbuser , $dbpwd , $dbprefix , $db_language;
//方法二
require_once("../data/a.php");
//方法三
//在a.php把变量全部定义成常量
define('DB_HOST' , 'test');
//调用的时候直接 使用DB_HOST
echo DB_HOST;
}
//查询一条记录
function ReadOne($database) {
self::opendata($database);
$rs = mysql_query("SELECT * from fcc where id=1");
$row = mysql_fetch_array($rs);
self::closedata();
return $row["date"];
}
}