Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/11/2015, 13:12
oggy_15_3
 
Fecha de Ingreso: marzo-2015
Mensajes: 183
Antigüedad: 9 años, 1 mes
Puntos: 8
Respuesta: Error al Eliminar varios datos a la vez

Cita:
Iniciado por Jose789 Ver Mensaje
Hola gente os comento un pequeño error que tengo haber si alguno me puede echar alguna mano con esto, Cada día mediante el Cron ejecuto esto cada día 00:00

pero solo elimina 1 único resultado, si en 1 día se vencen 2 facturas solo borra 1 de ellas... cuando debería de borrar las 2.

Cuando hay mas facturas para borrar en el mismo dia obtengo el siguiente error
Warning: mysqli::query(): Couldn't fetch mysqli in
Código PHP:
function removeBill($id){
        global 
$conn;
        
        
// sql to delete a record
        
$sql "DELETE FROM Facturas WHERE id='$id'";

        if (
$conn->query($sql) === TRUE) {
            
//echo "Record deleted successfully";
        
} else {
            
//echo "Error deleting record: " . $conn->error;
        
}

        
$conn->close();
        
    }
$q $conn->query("SELECT * FROM Facturas WHERE estado = 'No pagada'");
        if(
$q->num_rows 0) {
            while(
$row $q->fetch_array(MYSQL_ASSOC)) {

/*Fechas */
    
$hoy date('Y-m-d');
    
$end date('Y-m-d',$row['fecha_end']);
    
$bill_ini = new DateTime($hoy); //Esto cojeria el dia actual
    
$bill_end = new DateTime($end); //Y esto la fecha final
    
    
$interval date_diff($bill_ini$bill_end);
    
$dias $interval->format('%R%a días');

if(
$dias == +0) {
  
//debug
    
echo "Borramos Factura Vencida <br>";
    
//Borramos Factura
        
removeBill($row['id']);
}

}

Espero que me puedan echar una mano. Gracias por adelantado
Me atrevería a decir que tu problema es que cierras la conexión al eliminar la primera factura al llamar a la función removeBill(){....}
Deberías ponerla al terminar tu while(){}
$conn->close();