Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Error Update a base de datos

Estas en el tema de Error Update a base de datos en el foro de PHP en Foros del Web. Hola buenos días, Tengo el siguiente código, el cuál se va a ejecutar para un CronJob , les comento como funciona: Este código va a ...
  #1 (permalink)  
Antiguo 11/02/2014, 09:51
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años
Puntos: 27
Error Update a base de datos

Hola buenos días,

Tengo el siguiente código, el cuál se va a ejecutar para un CronJob, les comento como funciona:

Este código va a revisar una tabla en la base de datos, donde están almacenados los datos de los usuarios (usuario, password, fecha de alta, fecha de baja, vigencia). Los usuarios tienen una vigencia de 3 meses con su password, entonces, cuando la fecha actual se aproxima a la de la vigencia, si es menor a 7 días y mayor a 0 te manda avisos; si la fecha es igual al día de la vigencia, entonces bloquea al usuario con un update a ese campo (0 = desbloqueado, 1= bloqueado).

El problema, es que cuando el día es igual a la fecha de vencimiento, entra a la opción en un case y marca error el update.

Este es el código en PHP:

Código PHP:
       $hoy date('Y-m-d');

    
// Seleccionamos a los usuarios 
    
$sqlSelectPassword mysqli_query($connect"Select id_usuario, usu_usuario, usu_nombre, usu_password, usu_alta, usu_vigencia, usu_baja, usu_correo From sys_usuarios"MYSQLI_USE_RESULT);

    while (
$rowSelectPassword mysqli_fetch_array($sqlSelectPasswordMYSQLI_ASSOC)) {
        
        
$alta $rowSelectPassword['usu_alta'];
        
$baja $rowSelectPassword['usu_baja'];
        
$usuario $rowSelectPassword['id_usuario'];    
        
                
// Calculamos la diferencia de días 
        
$dias diff_dte($hoy$baja);

        switch(
$dias){
    
            case 
'0'// Si es igual a la fecha de vigencia, se actualiza el campo
                
$sqlUpdateUsuarios mysqli_query($connect"Update sys_usuarios Set usu_bloqueo = 1 Where id_usuario = $usuario"MYSQLI_USE_RESULT) or die(mysql_error($connect));
                
mysql_free_result($sqlUpdateUsuarios);
                echo 
'Bloqueado';
            break;
            
            case (
$dias && $dias 0): // Si es menor a 7 o mayor a 0 manda avisos (por email, aún no implementados)
                
echo 'Cuenta por bloquear.';
        }
        
    } 
mysql_free_result($sqlSelectPassword);

        
// Función para calcular la diferencia entre los días
    
function diff_dte($date1$date2){
           if (!
is_integer($date1)) $date1 strtotime($date1);
           if (!
is_integer($date2)) $date2 strtotime($date2);  
           return 
floor(abs($date1 $date2) / 60 60 24);
    } 
y el error que marca es el siguiente:

Cita:
Warning: mysql_error() expects parameter 1 to be resource, object given in E:\XAMPP\htdocs\Sistema Facturacion\scripts\cronjobs-vigencia-pass.php on line 30
donde la línea 30 es esta:

Código PHP:
$sqlUpdateUsuarios mysqli_query($connect"Update sys_usuarios Set usu_bloqueo = 1 Where id_usuario = $usuario"MYSQLI_USE_RESULT) or die(mysql_error($connect)); 
Algo se me debe estar pasando por alto, pero no lo visualizo... alguna idea?

De antemano, gracias por sus comentarios.

Saludos!!
  #2 (permalink)  
Antiguo 11/02/2014, 09:59
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Error Update a base de datos

Pues estás mezclando mysql_* con mysqli_*
  #3 (permalink)  
Antiguo 11/02/2014, 10:09
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años
Puntos: 27
Respuesta: Error Update a base de datos

:(

prometo no volver a trabajar hasta tarde... las neuronas se cansan y mueren de aburrimiento con el transcurso de las horas y no ven las estupideces que las manos y los ojos hacen fuera de coordinación con el cerebro... :(

Gracias PHPeros ^^

Etiquetas: fecha, mysql, select, sql, tabla, update, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:42.