クラスデータベース{
パブリック $conn;
パブリック静的 $sql;
パブリック静的 $instance=null;
プライベート関数 __construct(){
require_once('db.config.php');
$this->conn = mysql_connect($db['host'],$db['user'],$db['password']);
if(!mysql_select_db($db['database'],$this->conn)){
echo "失败";
};
mysql_query('set names utf8',$this->conn);
}
パブリック静的関数 getInstance(){
if(is_null(self::$instance)){
self::$instance = 新しいデータベース;
}
self::$instance を返します;
}
/**
* データベースのクエリ
*/
public function select($table,$condition=array(),$field = array()){
$where='';
if(!empty($condition)){
foreach($condition as $k=>$v){
$where.=$k."='".$v."' および ";
}
$where='where '.$where .'1=1';
}
$fieldstr = '';
if(!empty($field)){
foreach($field as $k=>$v){
$fieldstr.= $v.',';
}
$fieldstr = rtrim($fieldstr,',');
}その他{
$fieldstr = '*';
}
self::$sql = "{$table} {$where} から {$fieldstr} を選択します";
$result=mysql_query(self::$sql,$this->conn);
$resuleRow = array();
$i = 0;
while($row=mysql_fetch_assoc($result)){
foreach($row as $k=>$v){
$resuleRow[$i][$k] = $v;
}
$i++;
}
$resuleRow を返す;
}
/**
* 記録を追加します
*/
パブリック関数挿入($table,$data){
$values = '';
$datas = '';
foreach($data as $k=>$v){
$values.=$k.',';
$datas.="'$v'".',';
}
$values = rtrim($values,',');
$datas = rtrim($datas,',');
self::$sql = "INSERT INTO {$table} ({$values}) VALUES ({$datas})";
if(mysql_query(self::$sql)){
mysql_insert_id() を返す;
}その他{
false を返します;
};
}
/**
* レコードを変更する
*/
パブリック関数 update($table,$data,$condition=array()){
$where='';
if(!empty($condition)){
foreach($condition as $k=>$v){
$where.=$k."='".$v."' および ";
}
$where='where '.$where .'1=1';
}
$updatastr = '';
if(!empty($data)){
foreach($data as $k=>$v){
$updatastr.= $k."='".$v."',";
}
$updatastr = 'set '.rtrim($updatastr,',');
}
self::$sql = "更新 {$table} {$updatastr} {$where}";
return mysql_query(self::$sql);
}
/**
* 記録を削除
*/
パブリック関数 delete($table,$condition){
$where='';
if(!empty($condition)){
foreach($condition as $k=>$v){
$where.=$k."='".$v."' および ";
}
$where='where '.$where .'1=1';
}
self::$sql = "{$table} {$where} から削除";
return mysql_query(self::$sql);
}
パブリック静的関数 getLastSql(){ echo self::$sql;
}
}
$db = db::getInstance();
//$list = $db->select('demo',array('name'=>'tom','password'=>'ds'),array
('名前','パスワード'));
//echo $db->insert('demo',array('name'=>'最近そこにいました','password'=>'123'));
//echo $db->update('demo',array("name"=>'xxx',"password"=>'123'),array('id'=>1));
echo $db->delete('demo',array('id'=>'2'));
db::getLastSql();
echo " ";
?>
|