PHP : Parse error: syntax error, unexpected T_ECHO

Résolu
Bonjour,

Voici mon code :
<?php $link = mysql_connect('serveur', 'login', 'motdepasse');
mysql_select_db("bdd", $link);
$result = mysql_query("SELECT * FROM amis WHERE id_ami='". $_SESSION['id']."' AND valid='0'", $link);
$new_ami_non_valid = mysql_num_rows($result); ?>
<?php echo $new_ami_non_valid == 0 ? '' : '<span class="badge badge-important">'. echo $new_ami_non_valid; .'</span>'; ?>


Problème, quand je regarde sur ma page, voici ce qu'il s'affiche :

Parse error: syntax error, unexpected T_ECHO in /.../structure/menu.php on line 48

Comment régler ce problème ?

Merci d'avance.

8 réponses

  1. Tu n'as pas de raison de te connecter deux fois à la base de données, il faut donc supprimer
    $link = mysql_connect('serveur', 'login', 'motdepasse');
    mysql_select_db("bdd", $link);

    la deuxième fois.
    Mais je ne pense pas que ce soit la cause du problème. Comme ta requête a l'air d'être correcte, ajoute un mysql_error pour diagnostiquer :
    $result = mysql_query("SELECT * FROM messagerie WHERE id_desti='". $_SESSION['id']."' AND lu='0'", $link) or die(mysql_error());
    1
    1. essaye plutot:
      <?php $new_ami_non_valid == 0 ? echo '' : echo '<span class="badge badge-important">'.$new_ami_non_valid.'</span>'; ?>
      0
      1. Le problème persiste et le message d'erreur reste le même
        0
        1. Essaye
          <?php echo $new_ami_non_valid == 0 ? '' : '<span class="badge badge-important">'.$new_ami_non_valid.'</span>'; ?>
          0
      2. Bonjour

        Tu as un 'echo' et un point-virgule en trop :

        <?php echo $new_ami_non_valid == 0 ? '' : '<span class="badge badge-important">'. $new_ami_non_valid .'</span>'; ?>
        0
        1. Un message d'erreur apparaît :

          Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/a3389209/public_html/e/structure/menu.php on line 55
          0
          1. Pour diagnostiquer l'erreur (mais pas la corriger) :
            $result = mysql_query("SELECT * FROM amis WHERE id_ami='". $_SESSION['id']."' AND valid='0'", $link) or die (mysql_error());


            [edit] Pardon, si c'est ligne 55, c'est plus loin que l'erreur précédente.Il faut montrer les quelques lignes qui précèdent
            0
            1. Voici les lignes précédentes :

              <ul class="nav">
                          <li><a href="">Accueil &nbsp 
              			 <?php $link = mysql_connect('serveur', 'login', 'motdepasse');
              mysql_select_db("bdd", $link);
              $result = mysql_query("SELECT * FROM amis WHERE id_ami='". $_SESSION['id']."' AND valid='0'", $link);
              $new_ami_non_valid = mysql_num_rows($result); ?>
              <?php echo $new_ami_non_valid == 0 ? '' : '<span class="badge badge-important">'. $new_ami_non_valid .'</span>'; ?>
              
              
              			</a></li>
                          <li><a href="">Profil</a></li>
                          <li><a href="">Messagerie  &nbsp
              			<?php $link = mysql_connect('serveur', 'login', 'motdepasse');
              mysql_select_db("bdd", $link);
              (ligne 55) $result = mysql_query("SELECT * FROM messagerie WHERE id_desti='". $_SESSION['id']."' AND lu='0'", $link);
              $new_message_non_lu = mysql_num_rows($result); ?>
              <?php echo $new_message_non_lu == 0 ? '' : '<span class="badge badge-important">'. $new_message_non_lu .'</span>'; ?>
              
              </a></li> 

              0
              1. C'est à rien n'y comprendre car après avoir ajouter ce que tu m'as dit, le script à correctement fonctionné. Merci de ton aide en tout cas ! :)
                0