Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726

    Errore durante eliminazione record

    Questo programmino php dopo tot secondi elimina un utente dal db, pero mi ritrovo un errore che non riesco a comprendere alla linea 23.


    codice:
    <?php
     session_start();
     $nick=$_SESSION["nick"];
     include 'accedi_db.php'; //Accedo al programma php che mi connetta al db
     $tempo=time(); // Catturo il TIMESTAMP attuale
     
     $interrogazione="SELECT tempo_disconnessione FROM lista";
     $risultato=mysql_query($interrogazione);
     
      if (!$risultato)
       {
        print "Errore nel caricamento della tabella (reset_disconnessione.php)";
        exit();
       }
         
      while ($riga=mysql_fetch_array($risultato))
      {
       $conta=$tempo-$riga["tempo_disconnessione"];
         
       if ($conta>=900) // controllo per disconnettere un utente se non scrive un msg entro 900 sec
       (
        // Ecco la riga problematica, da sempre errore qua, ma non capisco il perchè
    	$delete=mysql_query("DELETE FROM lista WHERE tempo_disconnessione='$riga["tempo_disconnessione"]'"); 
      
         if (!$delete)
         {
          print "Errore nel caricamento della tabella";
    	  exit();
         }
    	 
    	/* Cencellazione dati registrati con la SESSION */
        $_SESSION = array(); 
    
        /* Scrivo che l'utente xxx è stato disconnesso */
    	$file=fopen("historychat.txt","a");
        flock($file,2);
        $crlf=chr(13).chr(10);
        $scritta="<font color=#C0C0C0 size=2>$nick è stato disconnesso dalla chat (tempo scaduto) </font>";
        fputs($file,$scritta.$crlf);    
        flock($file,3);
        fclose($file);
       }
      }
    
     mysql_close($connessione);  
     
    ?>
    Potreste darmi una mano?
    tnx!

  2. #2
    copia l'errore e dicci quale è la riga 23
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  3. #3
    beh scritta così da errore per forza...
    ci sono 2 doppi apici all'interno della stringa sql...
    scrivila così:

    Codice PHP:
    $delete=mysql_query("DELETE FROM lista WHERE tempo_disconnessione='$riga[\"tempo_disconnessione\"]'"); 
    o ancora meglio, così:

    Codice PHP:
    $delete=mysql_query('DELETE FROM lista WHERE tempo_disconnessione=\\''.$riga["tempo_disconnessione"].'\\''

  4. #4
    non si riesce a far visualizzare i backslash!!! Non tenere conto della seconda query, che così non può funzionare...

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726
    Originariamente inviato da matteosister
    beh scritta così da errore per forza...
    ci sono 2 doppi apici all'interno della stringa sql...
    scrivila così:

    Codice PHP:
    $delete=mysql_query("DELETE FROM lista WHERE tempo_disconnessione='$riga[\"tempo_disconnessione\"]'"); 
    -Scusa, che sono quei controslash?

    -Il fatto strano è che ho fatto altre query di questo tipo, solo che anzichè mettere
    codice:
    campo='$riga["nome_campo"]'
    ho messo
    codice:
    campo='$nome_campo'
    e non ha mai dato problemi, perchè mo si?

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726
    non funziona

  7. #7
    perchè...guarda un po'....in quella non ci sono backslash!!!!

    Se apri e chiudi una stringa con ", e poi ci metti in mezzo dei " il codice si incasina. Pensa che la stringa finisca, e poi ricominci ma non trova il punto di concatenazione.
    Il backslash prima del " serve a dire al sistema che quello è un carattere da ignorare nell'interpretazione del codice, ma solo da riportare nella stringa.

    Spero sia chiaro...

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726
    Da comunque errore.

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726
    No, purtroppo non va

  10. #10
    Puoi copiare l'errore?
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.