Ciao a tutti, ho una pagina di un mio sito che funziona perfettamente con PHP 5.4 ma smette di funzionare con PHP 5.6 ed il problema è nella clausola GROUP BY.
La pagina è la seguente.
codice:
<?PHP

$linguetta = "Gianluca Verna - Foto Rally";
    
include ("header.php");
    


echo "<div id=\"box-grande\">";




include ("link_orizzontali.php");




echo "<div id=\"colonna_sx\">";
echo "<br><br><br>";
include ("link_verticali_rally.php");
echo "</div>";




echo "<div id=\"colonna_dx\">";
echo "<br><br><br>";


require_once 'ycpager/anni.class.ycpager.php';




//Connessione al database
$mysqli = new mysqli("$dbhost", "$dbuser", "$dbpass");
$mysqli->select_db("$dbname");


//Ottengo il numero delle pagine totali.
$total = mysqli_query ($mysqli,"SELECT * FROM fotografie_rally GROUP BY anno ORDER BY orientamento, anno DESC");
$numero_anni = mysqli_num_rows ($total);








if($numero_anni > 0) {
    $limite = 20;
    
    //Pagina attuale
    $p = !empty($_GET['p']) ? $_GET['p'] : 1;
    
    $redirect_to = "foto_rally.php";
    
    //Inizializzo YCPager
    $pager = new YCPager( $p, $numero_anni, $limite, $redirect_to );
    
    //Ottengo l'Offset da usare nella query successiva
    $offset = $pager->getQueryOffset();






mysqli_close($mysqli);




echo "<table style=\"width: 800px\" class=\"style9\" align=\"center\">";
    echo "<tr>";
    echo    "<td align=\"center\" style=\"height: 35px\">";
    echo        "<strong>";
            
            echo "LE FOTOGRAFIE DEI RALLY"; 
        
            
    echo        "</strong>";
    echo    "</td>";
    echo    "</tr>";
echo    "</table>";


echo    "<br>";












echo "<Table Width=\"90%\" align=\"center\">";




$mysqli = new mysqli("$dbhost", "$dbuser", "$dbpass");
$mysqli->select_db("$dbname");






$result = mysqli_query ($mysqli,"SELECT * FROM fotografie_rally GROUP BY anno ORDER BY orientamento ASC,anno DESC LIMIT $limite OFFSET $offset"); 
$num = mysqli_num_rows ($result);


$end=1;
$i=1; // contatore


while($row = mysqli_fetch_assoc($result)) {
   $file = $row['nome_file'];
   $anno = $row['anno']; 
   $title = $row['anno'];
   $subtitle = "ANNO $anno";
   if ($anno == 2004) {
   $title = "PRIMA DEL 2005";
   $subtitle = "PRIMA DEL 2005";
    }
        




        list($width, $height) = getimagesize("fotografie_rally/miniature/$file");


        if (($width) <= ($height))
        {
        $visualizza = "<Img Src=\"fotografie_rally/miniature/$file\" Height=$height Border=\"1\" alt=\"$title\" title=\"$title\">";
        }
        if (($height) <= ($width))
        {
        $visualizza = "<Img Src=\"fotografie_rally/miniature/$file\" Width=$width Border=\"1\" alt=\"$title\" title=\"$title\">";
        }
        
        if ($i==1) {
   echo "<tr>";
   }   //Apro una nuova riga
        
        echo "<Td>";        
        echo "<Table align=\"center\" Cellpadding=\"0\" Cellspacing=\"3\">";
        echo "<Tr>";
        echo "<Td Valign=bottom style=\"height: 120px\">";
        echo "<center><a href=\"dettaglio_foto_rally.php?anno=$anno\" class=\"border\">"; echo "$visualizza</a></center>";
        echo "</Td>";
        echo "</Tr>";
        echo "<Tr>";
        echo "<Td Valign=Top class=\"style_denominazione\">";
        echo "<center><a href=\"dettaglio_foto_rally.php?anno=$anno\" class=\"border\">"; echo "<b>$subtitle</b></a></center>";
        echo "</Td>";
        echo "</Tr>";
        echo "</Table>";
        echo "</Td>";
        
        
if ($end == $num) break;


else {
        
if($i==4) { echo "</tr>";   $i=1; $end++;  }
   //ho finito di inserire gli elementi della riga e la chiudo 
   else {   $i++; $end++;  }
}
   } //fine while
   
   
    echo "</Tr>";          
   








echo "</Table>";


echo "<br>";


if($numero_anni > 20) {
    $limite = 20;
    
     //Stampo la paginazione
    $pager->getPager();
}










mysqli_close($mysqli);


}


else {
    
echo "<br><br><br>
    <table Width=\"90%\" class=\"style9\" align=\"left\">
    <tr>
    <td>
    <p align=\"left\"><b>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NESSUNA FOTO IN ARCHIVIO</b></p>
    </td>
    </tr>
    </table>
    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";
        }    






echo "</div>";








echo "</div>";


echo "<br><br>";




    
    include ("footer.php");
    ?>
    
    
    


</body>


</html>
Il problema è che io devo estrarre una foto per ogni anno in modo da generare i link ai vari anni per richiamare tutte le foto di un anno scelto dall'utente.
Con PHP 5.4 funziona perfettamente.

La porzione di codice incriminata è la seguente.
codice:
//Connessione al database$mysqli = new mysqli("$dbhost", "$dbuser", "$dbpass");
$mysqli->select_db("$dbname");


//Ottengo il numero delle pagine totali.
$total = mysqli_query ($mysqli,"SELECT * FROM fotografie_rally GROUP BY anno ORDER BY orientamento, anno DESC");
$numero_anni = mysqli_num_rows ($total);
Mi spiegate come ovviare al problema ?
Grazie per l'aiuto.