Syntax error, unexpected ''<p>.$ligne['' (T_CONSTANT_ENCAPSED_STRING)

Résolu/Fermé
Signaler
Messages postés
7
Date d'inscription
dimanche 11 août 2019
Statut
Membre
Dernière intervention
12 août 2019
-
Messages postés
7
Date d'inscription
dimanche 11 août 2019
Statut
Membre
Dernière intervention
12 août 2019
-
Bonsoir, j'ai un petit souci avec une ligne de mon code (il y en a surement d'autres), j'ai un message d'erreur qui est:
syntax error, unexpected ''<p>.$ligne['' (T_CONSTANT_ENCAPSED_STRING) on line 28
Si vous pouviez m'aider ça serait super sympa, merci d'avance

Voici mon code:

<?php
        
        /*Connexion à la base de données*/
        require("../includes/dbconnection.inc.php");

 
        /*Préparation de la requête et exécution*/ 
        $requete ='SELECT clients.Nom, clients.Age, Clients.Sexe, Count(demandes.ID_Film) AS Compteur
                FROM clients 
                INNER JOIN demandes ON demandes.ID_Client = clients.ID_Client 
                INNER JOIN films ON demandes.ID_Film = films.ID_Film  
                INNER JOIN genres ON films.ID_Genre = genres.ID_Genre  
                WHERE films.ID_Genre=3 
                GROUP BY clients.ID_Client 
                ORDER BY Compteur DESC, clients.Nom ASC 
                LIMIT 10';

 

  /*Stocker le résultat dans $resultat*/
    $resultat = $con->query($requete);

 

      /*Afficher le nom du client de chaque ligne du résultat*/
        while ($ligne = $resultat->fetch()) { 
     

     /*La ligne 28 est celle juste en dessous de ce texte*/
            echo "<p>" .$ligne['Nom']. "<p>"; 

             } 

?>



EDIT : Ajout de la coloration syntaxique dans les balises de code.
EDIT2 : Déplacement du sujet dans le forum PHP

1 réponse

Messages postés
34667
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2022
3 990
Bonjour,

Déjà, merci de poster dans le bon forum la prochaine fois. J'ai déplacé ta question dans le forum php.
Ensuite, merci de poster le code en utilisant correctement les balises de code.
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Et enfin, concernant ton souci...
En copiant/collant ton code, j'ai obtenu des caractères "??????" autour de ta ligne...
Il faudrait que tu vérifies que ton fichier est bien encodé en utf8 sans BOM.
Voir chapitre 1 de ce lien : https://www.commentcamarche.net/faq/47069-html-php-caracteres-accentues-et-l-utf8



1
Messages postés
7
Date d'inscription
dimanche 11 août 2019
Statut
Membre
Dernière intervention
12 août 2019

d'accord merci beaucoup
0
Messages postés
7
Date d'inscription
dimanche 11 août 2019
Statut
Membre
Dernière intervention
12 août 2019

rebonjour, j'ai bien vérifié que mon ficher et mes autres aussi par la même occasion étaient bien encodé en utf-8 sans BOM, j'ai essayé de les mettre sous un autre format et de les remettre en utf-8 sans BOM mais ça n'a rien changé toujours le même souci
0
Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 005
Bonjour,

Jordane a raison, il y a clairement des caractères bizarres. Tes espaces ne sont pas normaux.
Dans Notepad++, en affichant en ANSI ça donne :



/*La ligne 28 est celle juste en dessous de ce texte*/
            echo "<p>" .$ligne['Nom']. "<p>";

             }

Donc, conseil : supprime tous les espaces devant ton echo et devant ton accolade fermante. Ensuite tu peux les remettre avec les touches tab ou espace, normalement.

Xavier
0
Messages postés
7
Date d'inscription
dimanche 11 août 2019
Statut
Membre
Dernière intervention
12 août 2019
>
Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021

d'accord, merci

j'avais remarqué ceci hier avec notepad++, j'ai bien sûr corrigé cette erreur et j'ai en même temps vérifié l'encodage et je suis bien en utf-8 sans BOM mais il y a trés certainement quelque chose qui m'échappe

Voici le code sur Notepad++:
<?php
        
        /*Connexion à la base de données*/
        require("../includes/dbconnection.inc.php");

 
        /*Préparation de la requête et exécution*/ 
        $requete ='SELECT clients.Nom, clients.Age, Clients.Sexe, Count(demandes.ID_Film) AS Compteur
                FROM clients 
                INNER JOIN demandes ON demandes.ID_Client = clients.ID_Client 
                INNER JOIN films ON demandes.ID_Film = films.ID_Film  
                INNER JOIN genres ON films.ID_Genre = genres.ID_Genre  
                WHERE films.ID_Genre=3 
                GROUP BY clients.ID_Client 
                ORDER BY Compteur DESC, clients.Nom ASC 
                LIMIT 10';

 

  /*Stocker le résultat dans $resultat*/
    $resultat = $con->query($requete);

 

      /*Afficher le nom du client de chaque ligne du résultat*/
        while ($ligne = $resultat->fetch()) { 

		echo <p>.$ligne['Nom'].<p> ; 

		} 

?>
0
Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 005
Va dans Encodage, fais « Encoder en ANSI »
Ça ne change pas le fichier, seulement la façon de l'afficher. Tu devrais voir apparaître les caractères fautifs.
0