Visualizzazione dei risultati da 1 a 3 su 3

Visualizzazione discussione

  1. #1

    Bug o sbaglio qualcosa? Come risolvo?

    Codice PHP:
    while($row=mysql_fetch_array($res)){                    
    $id=$row['id'];                    
    $var=query                    
    $r
    =mysql_query($var,$conn);                    
    if(
    $w=mysql_fetch_array($r)){                        
       
    $var1=$w['campo1'];                        
       
    $tvar2=$w['campo2'];                    
    }                   
    else{                        
       
    $var1=0;                        
       
    $var2=0;                    
    }                    
    if(
    $var1=="1"){                        
       
    $inserimento=valore;                    
    }                    
    else{                        
       
    $inserimento=altro valore;                    
    }                    
    $controllo="query'";                    
    $rc=mysql_query($controllo);                    
    $nc=mysql_num_rows($rc);                    
    if(
    $nc==0){                        
       
    $aggiorna="INSERT INTO tabella VALUES ('valori')";
       
    $resmysql_query($aggiorna$conn);                    
    }                    
    else{                        
       
    $aggiorna="UPDATE tabella SET valori";
       
    $resmysql_query($aggiorna$conn);                    
    }                

    Evito di mostrarvi i campi reali perchè del tutto inutile e ci metterei le ore a spiegarvi cosa fa realmente il mio script.

    La cosa strana è che se io commento i due $res= mysql_query($aggiorna, $conn);
    se faccio una stampa di prova mi stampa tutte quante le query $aggiorna.

    Se io tolgo i commenti e eseguo lo script così come lo vedete aggiorna solamente il primo campo. Cioè esce dal while appena dopo il primo ciclo. Gli altri sette non li fa.

    SOLUZIONI PROVATE
    Ho voluto provare a vedere se la query originale (while ecc è il risultato di una query fatta prima) restituisse 8 elementi. Ho fatto mysql_num_rows e mi restituisce 8. Quindi il while dovrebbe fare 8 cicli. Ne fa solo 1.

    Allora ho provato a fare una query multipla: Quindi ho fatto in modo che creassi una variabile di appoggio dove inserissi tutte le query separate dal punto e virgola. Se provo ad eseguire da console mi aggiorna tuttte e 8 le query, se provo a farlo da php mi da errore e non ne aggiorna neanche una.

    Qualcuno ha idea di come possa risolvere? Vorrei evitare di fare stampare la query e fare manualmente...

    PS: qualcuno ha capito il codice?
    Ultima modifica di AyeyeBrazorv; 04-02-2014 a 13:14

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.