Visualizzazione dei risultati da 1 a 5 su 5

Discussione: ciclo che blocca tutto

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    234

    ciclo che blocca tutto

    Ho questo ciclo all'interno di uno script, se la condizione si avvera (==0) mi stampa la pagina come dovrebbe, se la condizione non si avvera però non prosegue nello script ma si 'impalla' con schermata bianca e nessun messaggio d'errore.
    Nello stesso script gli altri cicli non mi bloccano lo script, cos'à secondo voi questo di particolare????

    Grazie mille.

    --------------------------------------------------------------------

    while ($row_check = @mysql_fetch_array($result_check))

    {

    $query_select = "SELECT * FROM `$row_check[categoria_articolo]` WHERE titolo='$row_check[titolo]'";
    $result_check = @mysql_query($query_select, $connessione);
    $conteggio = @mysql_num_rows($result_check);

    if ($conteggio==0)

    {

    $elimina = "DELETE FROM `$tabella_ordini_temp` WHERE titolo='$row_check[titolo]' And username='$username'";
    @mysql_query($elimina, $connessione);

    echo "

    ...... inserisco la pagina HTML ......

    ";

    // chiudo la connessione

    @mysql_close($connessione);

    exit;

    } // chiudo if $conteggio==0

    } // chiudo il ciclo while

    ---------------------------------------------------------------------

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Non so dove stia l'errore, ma è molto brutto vedere tutti quegli @ davanti alle funzioni mysql. Cosa ne diresti di eliminarli e chiamare le funzioni mysql come si deve, cioè aggiungendo in fondo a ciascuna un "or die(mysql_error())"?
    Così magari se c'è un problema te ne accorgi subito...

    Fra l'altro, quel mysql_close() messo dentro al ciclo esterno mi sa che te lo interrompe perché dovrebbe togliergli il resultset

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    234
    Ma alla fine ho risolto, togliendo mysq_num_rows e interropendo il ciclo in un altro modo, ora funziona, o meglio, se non soddisfa la condizione procede per lo script.

    Quindi dici che sarebbe meglio togliere @ e mettere or die? Ma per un miglior funzionamento o per 'correttezza' di codice?

    Grazie mille - ciao

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Per entrambi.
    Non ha nessun senso eliminare la segnalazione degli errori, bisogna fare in modo che non ci siano errori.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    234
    OK

    Grazie.

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.