How can I pass this code to Mysqli [closed]

1
Muy buena tarde  quisiera pasar  este codigo para mysqli 

<?php
/* Clase para ejecutar las consultas a la Base de Datos*/
class ejecutarSQL {
    public static function conectar(){
        if(!$con=  mysql_connect(SERVER,USER,PASS)){
            die("Error en el servidor, verifique sus datos");
        }
        if (!mysql_select_db(BD)) {
            die("Error al conectar con la base de datos, verifique el nombre de la base de datos");
        }
        /* Codificar la información de la base de datos a UTF8*/
        mysql_set_charset('utf8',$con);
        return $con;
    }
    public static function consultar($query) {
        if (!$consul = mysql_query($query, ejecutarSQL::conectar())) {
            die(mysql_error().'Error en la consulta SQL ejecutada');
        }
        return $consul;
    }
}
/* Clase para hacer las consultas Insertar, Eliminar y Actualizar */
class consultasSQL{
    public static function InsertSQL($tabla, $campos, $valores) {
        if (!$consul = ejecutarSQL::consultar("insert into $tabla ($campos) VALUES($valores)")) {
            die("Ha ocurrido un error al insertar los datos en la tabla $tabla");
        }
        return $consul;
    }
public static function DeleteSQL($tabla, $condicion) {
    if (!$consul = ejecutarSQL::consultar("delete from $tabla where $condicion")) {
        die("Ha ocurrido un error al eliminar los registros en la tabla $tabla");
    }
    return $consul;
}
public static function UpdateSQL($tabla, $campos, $condicion) {
    if (!$consul = ejecutarSQL::consultar("update $tabla set $campos where $condicion")) {
        die("Ha ocurrido un error al actualizar los datos en la tabla $tabla");
    }
    return $consul;
}

}

    
asked by Pablo Castellanos Romero 23.09.2017 в 23:52
source

2 answers

0

Well the other day I had to perform the same migration on a server where these functions were obsolete and had to be changed to mysqli so I have something fresh. Test to change the class to execute SQL, like this:

class ejecutarSQL {
    public static function conectar(){
        if(!$con=  mysqli_connect(SERVER,USER,PASS,BD)){
            die("Error en el servidor, verifique sus datos");
        }            
        /* Codificar la información de la base de datos a UTF8*/
        mysqli_set_charset($con,'utf8');
        return $con;
    }
    public static function consultar($query) {
        if (!$consul = mysqli_query(ejecutarSQL::conectar(),$query)) {
            die(mysqli_error(ejecutarSQL::conectar()).'Error en la consulta SQL ejecutada');
        }
        return $consul;
    }
}
    
answered by 24.09.2017 в 01:36
0

You could pass it like this:

<?php
/* Clase para ejecutar las consultas a la Base de Datos*/
class ejecutarSQL {
    public static function conectar(){
        if(!$con=  new mysqli(SERVER,USER,PASS,DB)){
            die("Error en el servidor, verifique sus datos");
        }
        /* Codificar la información de la base de datos a UTF8*/
        $con->query('SET NAMES "utf8"');
        return $con;
    }
    public static function consultar($query) {
        $con=ejecutarSQL::conectar();
        if (!$consul = $con->query($query)) {
            die($con->error.'Error en la consulta SQL ejecutada');
        }
        return $consul;
    }
}
?>

But every time you make a query I would connect again against the bbdd, better if you keep the connection in a variable and reuse it. It would stay like this:

<?php
/* Clase para ejecutar las consultas a la Base de Datos*/
class ejecutarSQL {
    public static $LINK=false;
    public static function conectar(){
        if(false===$con=new mysqli(SERVER,USER,PASS,DB)){
            die("Error en el servidor, verifique sus datos");
        }
        self::$LINK=$con;
        /* Codificar la información de la base de datos a UTF8*/
        $con->query('SET NAMES "utf8"');
        return true;
    }
    public static function consultar($query) {
        if(!self::$LINK){
            self::conectar();
        }
        if (!$consul = self::$LINK->query($query)) {
            die(self::$LINK->error.'Error en la consulta SQL ejecutada');
        }
        return $consul;
    }
}
?>

The class SQL queries would not need to be modified.

    
answered by 24.09.2017 в 10:59