
YeltsinReyes
Mi
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
¡Usuario popular!
Hola programadores, eh creado esta funcion para actualizar o insertar un registro si no existe, la funcion me funciona bien
pero me gustaria su opinion por si puedo mejorarla o ven algun error!
Saludos!
pero me gustaria su opinion por si puedo mejorarla o ven algun error!
PHP:
function getConexion(){
$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;
}
PHP:
function setResultado($datos = ''){
if(!empty($datos)){
$con = getConexion();
$res = $con->query('SELECT * FROM resultados WHERE id = "'.$datos['id'].'" AND hash = "'.$datos['hash'].'" LIMIT 1');
if($res->num_rows > 0){
foreach($datos as $key => $val){
$set[] = $key.'="'.$con->real_escape_string($val).'"';
}
$set = implode(',', $set);
$sql = 'UPDATE resultados SET '.$set.' WHERE id = "'.$datos['id'].'" AND hash = "'.$datos['hash'].'" LIMIT 1';
if($con->query($sql) && $con->affected_rows > 0){
$return = true;
} else {
$return = NULL;
}
} else {
foreach($datos as $key => $val){
$keys[] = $key;
$vals[] = '"'.$con->real_escape_string($val).'"';
}
$keys = implode(',', $keys);
$vals = implode(',', $vals);
$sql = 'INSERT INTO resultados ('.$keys.') VALUES ('.$vals.')';
if($con->query($sql)){
$return = true;
} else {
$return = NULL;
}
}
$res->close();
$con->close();
} else {
$return = NULL;
}
return $return;
}
PHP:
$datos['id'] = '1234567890';
$datos['hash'] = 'abcdef';
// mas datos...
if(setResultado($datos)){
}
Saludos!
Última edición: