실습을 위해 작성한 데이터베이스 작업 기본 클래스에는 가장 기본적인 CURD 작업이 포함되어 있으며 프레임워크에 통합될 수 있습니다.
- // 구성 파일
- $db = array(
- 'host'=>'localhost',
- 'user' =>'root',
- 'password'=>'',
- 'database'=>'test',
- )
-
- ?>
- // php class
- class db {
- public $conn;
- public static $sql;
- public static $instance=null;
- private function __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 "Failed";
- };
- mysql_query('set names utf8',$ this->conn);
- }
- 공개 정적 함수 getInstance(){
- if(is_null(self::$instance)){
- self::$instance = new db;
- }
- return self::$instance;
- }
- /**
- * 데이터베이스 쿼리
- */
- 공용 함수 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,',');
- }else{
- $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 ;
- }
- return $resuleRow;
- }
- /**
- * 기록 추가
- */
- 공용 함수 insert($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)){
- return mysql_insert_id();
- }else{
- return false;
- };
- }
- /**
- * 기록 수정
- */
- 공개 함수 업데이트 ($table,$data,$condition=array()){
- $where='';
- if(!empty($condition)){
-
- foreach($ 조건은 $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 $k= >$v){
- $where.=$k."='".$v."' 및 ";
- }
- $where='where '.$where . '1=1';
- }
- self::$sql = "{$table} {$where}에서 삭제";
- return mysql_query(self::$sql);
-
- }
-
- 공용 정적 함수 getLastSql(){
- echo self::$sql;
- }
-
-
-
- }
-
-
코드 복사
- $db = array(
- 'host'=>'localhost',
- 'user'=>'root',
- 'password'=>'',
- 'database'=>'test',
- )
-
- ?>
코드 복사
- class db {
- public $conn;
- public static $sql;
- public static $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( '이름 설정 utf8',$this->conn);
- }
- 공개 정적 함수 getInstance(){
- if(is_null(self::$instance)){
- self::$instance = new db;
- }
- return self ::$instance;
- }
- /**
- * 데이터베이스 쿼리
- */
- 공개 함수 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,',');
- }else{
- $fieldstr = '*';
- }
- self::$sql = "{에서 {$fieldstr} 선택 $table} {$where}";
- $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 ;
- }
- return $resuleRow;
- }
- /**
- * 기록 추가
- */
- 공용 함수 insert($table,$data){
- $values = '';
- $datas = '';
- foreach($data as $k=>$v){
- $values.=$k.',';
- $datas.="'$v'".',';
- }
- $values = rtrim($values,',');
- $datas = rtrim($datas,',') ;
- self::$sql = "{$table}({$values}) 값({$datas})에 삽입";
- if(mysql_query(self::$sql)){
- return mysql_insert_id();
- }else{
- return false;
- };
- }
- /**
- * 기록 수정
- */
- 공개 함수 업데이트($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 = " update {$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('name','password')) ;
- //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 "
";
- ? >
-
复代码
|