Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class MySQL
- {
- protected $mysql;
- function __construct()
- {
- //Get MySQL config values from config.ini file
- if($config = parse_ini_file("../config.ini"))
- {
- // Obtener los valores del fichero de configuración config.ini
- $ip = $config["ip"];
- $user = $config["usuario"];
- $pass = $config["password"];
- $bd = $config["bd"];
- //Connection between a database and php
- $this->mysql = new mysqli($ip, $user, $pass, $bd);
- }
- }
- function setResultQuery($query, $param)
- {
- $array = NULL;
- if(!$this->mysql->connect_errno)
- {
- $stmt = $this->setStatement($query, $param);
- try
- {
- if($stmt != NULL)
- {
- if($stmt->execute())
- {
- //Obtener resultados
- $stmt->store_result();
- $variables = array();
- $data = array();
- $meta = $stmt->result_metadata();
- while($field = $meta->fetch_field())
- {
- $variables[] = &$data[$field->name];
- }
- call_user_func_array(array($stmt, 'bind_result'), $variables);
- $i=0;
- while($stmt->fetch())
- {
- $array[$i] = array();
- foreach($data as $k=>$v)
- $array[$i][$k] = $v;
- $i++;
- }
- $stmt->close();
- }
- }
- }catch(Exception $e){
- $array = FALSE;
- }
- }
- return $array;
- }
- function setStatement($query, $param)
- {
- try
- {
- $stmt = $this->mysql->prepare($query);
- $ref = new ReflectionClass('mysqli_stmt');
- if(count($param) != 0)
- {
- $method = $ref->getMethod('bind_param');
- $method->invokeArgs($stmt, $param);
- }
- }catch(Exception $e){
- if($stmt != null)
- {
- $stmt->close();
- }
- }
- return $stmt;
- }
- function setNoResultQuery($query, $param)
- {
- $validation = FALSE;
- if(!$this->mysql->connect_errno)
- {
- try
- {
- $stmt = $this->setStatement($query, $param);
- if($stmt != null)
- {
- if($stmt->execute())
- {
- $stmt->close();
- $validacion = TRUE;
- }
- }
- }catch(Exception $e){
- $validation = FALSE;
- }
- }
- return $validation;
- }
- function __destruct()
- {
- $this->mysql->close();
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement