Parse error: syntax error...

Bonjour, je poste un message ici parce que je ne sais plus comment me sortir de cette erreur, mon site fonctionne parfaitement sous wamp mais une fois que je veux le mettre en ligne chez mon hebergeur, rien a faire, je continue d'avoir cette erreur :
"
Parse error: syntax error, unexpected ')', expecting '(' in /mnt/104/sdb/8/a/g.egh/Site/accueil.php on line 178
"
J'ai cherché a la ligne 178, j'ai compté les parentheses, j'en ai le même nombre de chaque, j'en déduis donc qu'il doit manquer un " () " apres une fonction ou quelque chose de ce genre mais je suis débutant en php et je ne trouve pas l'erreur, je vous donne la partie du code qui selon moi pose probleme,
"
<?php
$req = $bdd->prepare('SELECT * FROM articles_accueil ORDER BY id DESC');
$req->execute();
while($data = $req->fetch(PDO::FETCH_OBJ)):?> // <= La fameuse ligne 178
<div class="article">
<h3><?php echo $data->titre;?></h3>
<p class="article" id="<?php echo $data->id;?>"><?php echo nl2br($data->contenu);?></p>
</div>
<?php endwhile;
?>
"
Merci d'avance.

10 réponses

  1. Si Free utilise MySQL, tu dois utiliser un langage MySQL (enfin, il me semble...)
    Donc, remplace toutes tes fonctions PDO par des fonctions mysql. Pour ça, réfère toi à php.net

    Mais, alors quand tu codais avec Wamp, tu codais aussi avec des fonctions PDO ???
    1
    1. Eh bien j'ai trouvé ce code sur internet pour mettre a jour mon site en fait, il va chercher le texte dans la base de donnée, et euh, oui, ça marche parfaitement bien sous Wamp, c'est pour ça que je ne comprenais pas que ça ne marche pas sur Free. Il faut croire que Wamp est plus souple que Free ! Je vais modifier tout ça alors, en tout cas merci :)
      0
  2. Salut,

    l'erreure peut etre situer avant peux tu nous poster ton code ?
    0
    1. salut,

      while($data = $req->fetch(PDO::FETCH_OBJ)):?>

      juste pour voir si ca pourrait pas venir de là, le : a la fin de ton while me parait bizarre
      0
      1. Je crois que poukkid a raison, je pense que c'est un ; et pas un :
        0
        1. Effectivement c'es bizarre je l'avais pas remarqué.. Bien joué poukkid
          0
          1. J'ai remplacé par un ;

                    while($data = $req->fetch(PDO::FETCH_OBJ));?> 


            mais cela n'a aucun effet, toujours la même erreur me disant qu'il attend une parenthese

            Ce qui m'énerve c'est que ça fonctionne sous wamp mais pas en ligne sur mon hebergeur
            0
            1. Mais Wamp utilise MySQL et pas PDO, donc, l'erreur doit venir de l'utilisation de PDO si avec MySQL ça fonctionne.
              http://www.manuelphp.com/php/function.pdostatement-fetch.php
              0
              1. J'ai un serveur qui fonctionne avec MySQL, je peux mettre en ligne ton code avec MySQL si ça ne te dérange pas que j'ai accès à ton code source et à ta base de données (^^,)
                0
            2. Le truc c'est que j'heberge chez Free, et c'est bien spécifié que la base de donnée est gérée sous mysql :/
              0
              1. Oui mais Wamp marche avec PDo il suffit de l'activer si cela n'est pas déja fait :http://www.progs.fr/node/129
                0
                1. Voilà donc pourquoi avec Wamp ça fonctionne, je ne savais même pas que c'était possible... ^^
                  0
              2. Une derniere petite question, Free permet de choisir entre MySQL et PostgreSQL
                Est-ce que ce dernier pourrait gerer mon code mieu que MySQL ? (Je n'ai jamais entendu parler de PostgreSQL, et...oui je suis un peu fainéant je n'ai pas envie de changer mon code :D)
                Et un grand merci a tout ceux qui ont prit le temps de se pencher sur mon cas :)
                0
                1. Oubliez ce que je vien de dire, c'est un peu stupide j'avais pas reflechi, ça fait trop longtemps que je m'arrache les cheveux avec ça ! Je me suis un peu renseigné il semblerait que Free ne gère pas le PDO donc je vais me tourner vers un autre herbergeur, encore merci :)
                  0
                2. Mais il aurait suffit de tout passer en MySQL, si tu veux, envoie moi tout ton code, et je te remplace le PDO par du MySQL et le tour est joué. Il y a toujours une solution. Mais quelqu'un m'a conseillé d'utiliser PostGreSQL parce qu'il disait que c'était 'Le futur' ^^; mais bon, pour le moment, je me contente du MySQL...
                  Donc, envoie-moi le code (enfin, que les page qui utilise ta BDD évidemment), et je ferai de mon mieux...
                  0