¿Cómo puedo saber cuándo fue exitosa una actualización de MySQL versus datos realmente actualizados?¿Cómo puedo saber cuándo fue exitosa una actualización de MySQL versus datos realmente actualizados?
Ejemplo:
TABLE
id city_name
1 Union
2 Marthasville
Si funciono el siguiente:
$data = array('city_name', 'Marthasville');
//update record 2 from Marthasville to the same thing, Marthasville.
$this->db->where('id', 2);
$this->db->update('table', $data);
if($this->db->affected_rows() > 0)
{
//I need it to return TRUE when the MySQL was successful even if nothing was actually updated.
return TRUE;
}else{
return FALSE;
}
Esto devolverá TRUE
cada vez que la instrucción UPDATE es exitosa, pero FALSO cuando no hay filas se actualizan realidad.
Lo necesito para devolver TRUE
cada vez que la instrucción UPDATE se ejecutó correctamente, incluso si en realidad no cambia ningún registro.
Acabo de actualizar mi pregunta de nuevo para indicar más claramente el problema que estoy teniendo con el uso de mysql_affected_rows(). Ojalá no hubiera publicado mi pregunta tan pronto: S – zechdc
Creo que la respuesta de JLeafgle seguía siendo la correcta. mysql_affected_rows devolverá -1 si la última consulta falló, de lo contrario devolverá> = 0. Suponiendo que eso es lo que está buscando, entonces simplemente cambie su sentencia if a ... "if ($ this-> db-> affected_rows()> = 0) " –
Estás en @Jon Stirling. Actualicé la respuesta de Jleagle para reflejar su sugerencia, sin embargo, no puedo aprobar la edición, así que si alguien más pudiera, sería genial. ¡Gracias! – zechdc