La función `getConexion` crea una nueva conexión a la base de datos cada vez que la usas, lo que no tiene mucho sentido, podrías solucionarlo cacheando la conexión en una variable estática, ej:
PHP:
function getConexion(){
static $con;
if (! $con) {
$con = @new mysqli(DBHOST, DBUSER, DBPASS, DBNAME);
if($con->connect_error){
die('<h1>Error en la conexion: '.$con->connect_error.'</h1>');
}
if(!$con->set_charset('utf8')){
die('<h1>Error al agregar utf8: '.$con->error.'</h1>');
}
}
return $con;
}
Luego en la función `setDatos` hay varias cosas sin sentido...
- El parámetro $datos que recibe la función, no tiene sentido que sea una cadena y vacía, lo propio si estás esperando un array sería `function setResultado(array $datos) {...}`
- Hay valores que no estás escapando, aunque tal vez no sea necesario
- En el update, estás actualizando valores que no son necesarios, id y hash
- Luego no sé si que tipo de valor es el id, pero si es un número único en MySQL es posible que no necesites utilizar el hash en las consultas...
- No es necesario que hagas un `return NULL;` cuando una función no devuelve un valor, el valor es NULL
Y por supuesto, te recomendaría olvidar Mysqli y pasarte a PDO
🙂
Y bueno respecto al código, yo o lo escribiría en Inglés o en Español, pero mezclarlo queda bastante feo jeje