177 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			177 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| class Database    
 | |
| {   private $db_host = 'localhost';  //Database Host  
 | |
|     private $db_user = 'root';   // Database User  
 | |
|     private $db_pass = '';   // Database password  
 | |
|     private $db_name = 'rai_crud';   //Database name  
 | |
|   
 | |
|     private $connection = false;               // Checks to see if the connection is active  
 | |
|     protected $result = array();          // Results returned from the query  
 | |
|   
 | |
|     public function connect(){
 | |
| 		if(!$this->connection){                        //checks if there is already a mysql connection active  
 | |
|             $mycon = @mysql_connect($this->db_host,$this->db_user,$this->db_pass);  //connecting to my mysql  
 | |
|             if($mycon){    
 | |
| 				$selectdb = @mysql_select_db($this->db_name,$mycon);
 | |
| 	            if($selectdb){    
 | |
| 				    $this->connection = true;  //sets the value to variable connection to true  
 | |
|                     return true;    
 | |
|                 }else{   
 | |
| 					echo "Tidak Menemukan Database";
 | |
|                     return false;    
 | |
|                 }    
 | |
|             }else{    
 | |
| 				echo "Tidak bisa tersambung ke mysql";
 | |
|                 return false;    
 | |
|             }    
 | |
|         }else{    
 | |
|             return true;    
 | |
|         }    
 | |
|     }
 | |
| 	
 | |
|     public function disconnect(){
 | |
| 		if($this->connection){    
 | |
| 			if(@mysql_close()){    
 | |
| 				$this->connection = false;    
 | |
| 				return true;    
 | |
| 			}else{    
 | |
| 				return false;    
 | |
| 			}    
 | |
| 		}    
 | |
| 	}
 | |
|     
 | |
|     public function select($table, $rows = '*', $where = null, $limit = null, $order = null){    
 | |
|         $q = 'SELECT '.$rows.' FROM '.$table;  
 | |
|         if($where != null) $q .= ' WHERE '.$where;  
 | |
|         if($order != null) $q .= ' ORDER BY '.$order;
 | |
| 		if($limit != null) $q .= ' LIMIT '.$limit;
 | |
| 		//echo $q;		
 | |
|         if($this->tableExists($table)){
 | |
| 			$query = @mysql_query($q);    
 | |
| 			if($query){
 | |
| 		
 | |
|             $this->numRows = mysql_num_rows($query);  //retrieves the number of rows from the query  
 | |
|             for($i = 0; $i < $this->numRows; $i++)    
 | |
|             {    
 | |
|                 $r = mysql_fetch_array($query); //mysql_fetch_array returns an array that corresponds to the fetched row  
 | |
|                 $key = array_keys($r);  //array_keys() returns the keys, numeric and string, from the input array.  
 | |
|                 for($x = 0; $x < count($key); $x++)  //count() counts all elements in an array  
 | |
|                 {    
 | |
|                     // Sanitizes keys so only alphavalues are allowed    
 | |
|                     if(!is_int($key[$x]))    
 | |
|                     {    
 | |
|                         if(mysql_num_rows($query) > 1)    
 | |
|                             $this->result[$i][$key[$x]] = $r[$key[$x]];    
 | |
|                         else if(mysql_num_rows($query) < 1)    
 | |
|                             $this->result = null;    
 | |
|                         else    
 | |
|                             $this->result[$key[$x]] = $r[$key[$x]];    
 | |
|                     }    
 | |
|                 }    
 | |
|             }    
 | |
|             return true;    
 | |
| 
 | |
| 				//return $query;
 | |
| 			}else{
 | |
| 				echo "Ada kesalahan pada query";
 | |
| 				return false;    
 | |
| 			}    
 | |
|         }else {
 | |
| 			echo "Table tidak ditemukan";
 | |
| 			return false;
 | |
| 		}
 | |
|     }    
 | |
|     
 | |
|     public function insert($table,$values,$rows = null) {  
 | |
|         if($this->tableExists($table)){    
 | |
|             $insert = 'INSERT INTO '.$table; 
 | |
|             if($rows != null)$insert .= ' ('.$rows.')';    
 | |
|             for($i = 0; $i < count($values); $i++){    
 | |
|                 if(is_string($values[$i]))$values[$i] = '"'.$values[$i].'"';    
 | |
|             }    
 | |
|             $values = implode(',',$values);    
 | |
|             $insert .= ' VALUES ('.$values.')';
 | |
|             $insert_query = @mysql_query($insert);    
 | |
|             if($insert_query){    
 | |
|                 return true;    
 | |
|             }else{ 
 | |
|                 return false;    
 | |
|             }    
 | |
|         }    
 | |
|     }    
 | |
|     
 | |
|     public function delete($table,$where = null){    
 | |
|         if($this->tableExists($table)){    
 | |
|             if($where == null){    
 | |
|                 $delete = 'DELETE '.$table;    
 | |
|             }else{    
 | |
|                 $delete = 'DELETE FROM '.$table.' WHERE '.$where;  //equivalent to DELETE FROM table1 WHERE ......  
 | |
|             }    
 | |
|             $delete = @mysql_query($delete);
 | |
|             if($delete){    
 | |
|                 return true;    
 | |
|             }else{    
 | |
|                return false;    
 | |
|             }    
 | |
|         }else{    
 | |
|             return false;    
 | |
|         }    
 | |
|     }    
 | |
|     
 | |
|     public function update($table,$rows,$where){  
 | |
|         if($this->tableExists($table)){    
 | |
|             for($i = 0; $i < count($where); $i++){  
 | |
|                 if($i%2 != 0){  
 | |
|                     if(is_string($where[$i])){  
 | |
|                         if(($i+1) != null)$where[$i] = '"'.$where[$i].'" AND ';  
 | |
|                         else $where[$i] = '"'.$where[$i].'"';  
 | |
|                     }  
 | |
|                 }  
 | |
|             }  
 | |
|             $where = implode('',$where);  
 | |
|             $update = 'UPDATE '.$table.' SET ';  
 | |
|             $keys = array_keys($rows);  
 | |
|             for($i = 0; $i < count($rows); $i++){  
 | |
|                 if(is_string($rows[$keys[$i]])) $update .= $keys[$i].'="'.$rows[$keys[$i]].'"';    
 | |
|                 else $update .= $keys[$i].'='.$rows[$keys[$i]];
 | |
|                 // add commas  
 | |
|                 if($i != count($rows)-1) $update .= ',';
 | |
|             }  
 | |
|             $update .= ' WHERE '.$where;  
 | |
|             $query = @mysql_query($update);  
 | |
|             if($query)  
 | |
|             {  
 | |
|                 return true;  
 | |
|             }  
 | |
|             else  
 | |
|             {  
 | |
|                 return false;  
 | |
|             }  
 | |
|         }  
 | |
|         else  
 | |
|         {  
 | |
|             return false;  
 | |
|         }  
 | |
|     }  
 | |
| 
 | |
|     public function getResult(){
 | |
|         return $this->result;
 | |
|     }
 | |
| 	
 | |
| 	private function tableExists($table){    
 | |
|         $tableInDb = @mysql_query('SHOW TABLES FROM '.$this->db_name.' LIKE "'.$table.'"');    
 | |
|         if($tableInDb)    
 | |
|         {    
 | |
|             if(mysql_num_rows($tableInDb)==1)    
 | |
|             {    
 | |
|                 return true;    
 | |
|             }    
 | |
|             else    
 | |
|             {    
 | |
|                 return false;    
 | |
|             }    
 | |
|         }    
 | |
|     }   
 | |
| }    
 | |
| 
 | |
| ?>
 | 
