Page 1 sur 1

migration vers php5.6

Posté : 05 juin 2021, 13:27
par lpadri
Bonjour
je vous remercie de m'aider a solutionner ce blocage et mon niveau est trés moyen en php

j'ai migrer un calendrier events vers php5.6 anciennement php4 sur lequel c'a tourne sans erreur.

mais depuis j'ai l'erreur
Warning: mysqli_fetch_object() expects parameter 1 to be mysqli_result, object given in Agendacalendrier\fonctions.php on line 122 

voici une partie du code
include('config.php');	
	
	$selection = "SELECT identifiant, jour, TIME_FORMAT(heure,'%H:%i') as heure, sujet, commentaires, utilisateur, importance, login  FROM tbl_agenda 		WHERE jour = '$annee-$mois-$jour' ORDER BY jour, heure"; 

	$ligne = mysqli_query($connect,$selection); 

    echo '<center><table border ="0">';
	    while ($ligne = mysqli_fetch_object($ligne)) {    //  voici la ligne 122
         $heure = substr($ligne -> heure, 0, 2); 
         $minute = substr($ligne -> heure, 3, 5);

        if ($jour < 0) {
            echo '<tr><td><font color="gray"><b>' . $heure . ':' . $minute . '</b></font></td>';

merci de toute aide de votre part

Re: migration vers php5.6

Posté : 05 juin 2021, 19:00
par @rthur
while ($ligne = mysqli_fetch_object($ligne)) {
Le problème est que tu appelles $ligne le résultat de ton mysqli_query() (et qui doit donc passer en paramètre de ta fonction mysqli_fetch_object()
Sauf que tu écrases la valeur de ligne pour y mettre le résultat de ta fonction mysqli_fetch_object() donc au deuxième appelle de ta boucle while, ça ne peut plus marcher...

Utilise des noms de variables différents et ça devrait marcher

Re: migration vers php5.6

Posté : 06 juin 2021, 11:33
par lpadri
Merci @rtur

tu as vu juste c'etait bien la cause