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

Résolu
Feedercraft Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
Feedercraft Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753
 
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-poster-un-extrait-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://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8



1
Feedercraft Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
d'accord merci beaucoup
0
Feedercraft Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
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
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
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
Feedercraft Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   > Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention  
 
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
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
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