Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    14

    PHP cancellare record mysql con data vecchia di 1 giorno

    Ciao a tutti,
    sto cercando tramite php di cancellare tutti i record nella mia tabella in mysql che sono più vecchi di 1 giorno
    questo è il codice che utilizzo:
    codice:
    <?php $con=mysqli_connect("localhost","mionome","miapass","mydb"); // Check connection if (mysqli_connect_errno())   {   echo "Failed to connect to MySQL: " . mysqli_connect_error();   } $date= date("Y-m-d H:i:s");  mysqli_query($con,"DELETE FROM utenti WHERE data<'$date'");  mysqli_close($con); ?>
    la tabella si chiama utenti e il campo data (datatime)>>ho provato anche con varchar

    Quindi riesco a cancellare i record che sono più vecchi della data corrente, però io vorrei mettere la condizione quando la data è minore di un giorno.
    Come posso fare?
    Grazie a tutti!!!!

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    PHP non c'entra niente, le query si fanno in SQL, quindi la prossima volta chiedi nella sezione Database.

    Comunque, se vuoi che vengano cancellati i record più vecchi di 24 ore esatte (e credo sia così che devi fare) devi usare un timestamp, non le date nel formato aaaa-mm-gg hh:mm:ss

    MySQL sui campi datetime non tiene conto dell'orario quando deve fare i confronti.

    Una volta che nel campo della data hai dei timestamp, ovvero ciò che restituisce la funzione NOW() di MySQL, puoi eliminare i record che hanno il campo datatime con un valore minore di
    NOW() - 86400.

    86400 sono i secondi in 24 ore.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.