/*@Author: quocvuongdn
*@Twitter: quocvuongdn
*@Site: quocvuongdn.com
*/
class DBmysqli{
protected $db_name = '';
protected $db_user = '';
protected $db_pass = '';
protected $db_host = '';
protected $db;
function __construct(){
$this->connect();
}
public function connect(){
$this->db = new mysqli($this->db_host, $this->db_user, $this->db_pass, $this->db_name);
if(!$this->db){
echo mysqli_connect_error();
}
$this->db->set_charset("utf8");
}
public function executeNonParams($prcName){
$result = $this->db->query('call '.$prcName.'()');
if($result->num_rows == 1)
return $this->processRowSet($result, true);
return $this->processRowSet($result);
}
public function executeParams($prcName, $arrParams){
$sql = 'call '.$prcName.' (';
for($i= 0;$i< count($arrParams);$i++){
if($i== count($arrParams)-1){
if(is_string($arrParams[$i])){
$sql .= '"'.$arrParams[$i].'");';
}else{
$sql .= $arrParams[$i].')';
}
}else{
if(is_string($arrParams[$i])){
$sql .= '"'.$arrParams[$i].'", ';
}else{
$sql .= $arrParams[$i].', ';
}
}
}
$result = $this->db->query($sql);
if($result->num_rows == 1){
return $this->processRowSet($result, true);
}
return $this->processRowSet($result);
}
public function processRowSet($result, $singleRow = false){
$resultArray = array();
while ($row = $result->fetch_assoc()) {
array_push($resultArray, $row);
}
$result->close();
$this->db->next_result();
if($singleRow == true)
return $this->json($resultArray[0]);
return $this->json($resultArray);
}
public function json($resultArray){
if(is_array($resultArray))
return json_encode($resultArray);
return $resultArray;
}
public function close(){
$this->db->close();
}
}
Comments