Buongiorno a tutti,
ho un problema con delle query.
Cerco di costruire una query con all'interno di while() un'altra query. Non l'ho mai provato e ho pensato che potesse funzionare, ma invece tutto il costrutto si ferma alla prima riga della prima query e della seconda query annidata. ho provato a scrivere il codice il più semplice possibile , ma niente! Mi spiego con un esempio:
Codice PHP:
#prima query
try
    {
        
$sql="SELECT col1, col2, col3 
        FROM tabella1
        where col4=:num
        order by col3"
;
        
$s=$pdo->prepare($sql);
        
$s->bindValue(':num'numero );
        
$s->execute();        
    }catch(
PDOException $e)
            {
            
$header="oooops.... ";
            
$msg  ="query errata per cercare i dati... : " $e->getMessage() ." in file: ".$e->getFile() ." in line: "$e->getLine();
        include 
'errore.html.php';
            exit();
            }
    
$i=0;        
    while(
$rows=$s->fetch())
    {
    
    
$tabella2[]=$rows['col3']; //tale valore è il nome di diverse tabelle dalle quali vorrei prendere dei dati;
    
$array1[]=array('val1'=>$rows['col1'],'val2'=>$rows['col2'],'val3'=>$rows['col3']);


    
#query nested
        
try
            {
            
$sql="select col5, col6, col7, col8, col9  
            from "
$tabella2[$i] . 
            inner join tabella3 on "
.$tabella2[$i].".id=tabella3.id
                    
            where "
.$tabella2[$i]. ".col10=:idN";
                
$s=$pdo->prepare($sql);
                
$s->bindValue(':idN',numero );
                
$s->execute();
            
            }catch(
PDOException $e)
                {
                    
$header="oooops.... ";
                    
$msg  ="query errata per cercare i dati nel nido... : " $e->getMessage() ." in file: ".$e->getFile() ." in line: "$e->getLine();
                    include 
'errore.html.php';
                    exit();
                }
                    
                while(
$row=$s->fetch())
                        {
                            
$array2[$i][]=array('val4'=>$row['col5'], 'val4'=>$row['col6'], 'val6'=>$row['col7'],'val7'=>$row['col8'],'val8'=>$row['col9']);
                        }
    
$i++;
    } 
non riesco a capire perchè. che ne pensate?