Forum Clubic

Syntax erreur

bonjour j’ai fais une requette pour savoir où se situe le membre qui est :

echo '<td>';
$query = 'SELECT id_membre 
          FROM forum_present 
          WHERE id_membre = '.intval($_SESSION['id']);

$result = mysql_query($query) or exit(mysql_error());
if (mysql_num_rows($result) <> 0)
{

      $query_insert = '
          INSERT INTO forum_present
          (id_forum, id_membre, pseudo, date)
          VALUES ("' . $forum . '", "' . $_SESSION ['id'] . '", "' . $_SESSION['login'] . '", "' . time() . '")
          ';
          mysql_query($query_insert) or exit (mysql_error());
   }
   else
   {
     $query_update2 = '
          UPDATE forum_present
          SET date="' . time() . '", id_topic="'. $topic .'"
          WHERE id_membre="' . $_SESSION['id'] . '"
          ';
          mysql_query($query_update2) or exit (mysql_error());
   }



//pour supprimer le membre si il n'est plus là:


$query_member = '
SELECT id_membre, pseudo, id_forum,date 
FROM forum_present 
WHERE id_forum='.$forum;
$result = mysql_query($query_member) or exit (mysql_error());
while($do = mysql_fetch_array($result))
{
echo' <a href="http://tonlien">'.$this->coder_texte($do['pseudo']).'</a>';
}
echo'</td></tr>'; 
echo'</table>';
$expected_time = time() - 60 * 3;
   $query_delete = ' 
DELETE FROM forum_present 
WHERE date < "' . $expected_time . '"'; 

   mysql_query($query_delete) or exit (mysql_error());

		}
		}

et l’érreur :

merci de votre aide

Tu t’y retrouve avec ton code indenté comme ca. Si tu nous disais ou était la ligne correspondant à la requete qui fait l’erreur ca eviterais de perdre du temps à la chercher.

  1. les champs text en mysql c’est des simples quote ', et non des doubles quotes " pour les delimiter.
  2. les valeurs numérique ne doivent pas etre delimiter.
  3. Si tu veux faire des chaines de caractere sur plusieur lignes c’est preferable de le faire de cette maniere :

$str = 'Voici un bout de text '.
                  'que je termine en 2 ligne dans mon code, mais qui n'en fait qu'une en réalitée.';

Ca evite de mettre des \n au milieu des requetes etc. Meme si ca change pas grand chose au final.
Edité le 14/12/2009 à 13:19

en faite c’est ps la ligne 3 de la page si j’enleve mon code là il n’a plus d’érreur et quand je met le code là il remet l’érreur mais le but de ce code c’est juste pour affiché la page où se trouve le membre

merci

Comment veu tu que l’on t’aide avec des explication comme sa ?
En plus tous nous parle de ligne 3 alors que ta pas mis les lignes dans ton code …

JE vois deux chose possible :
1 : $query = 'SELECT id_membre FROM forum_present WHERE id_membre = '.intval($_SESSION[‘id’]);
Il manquerais peut être des apostrophes moi j’aurais écris :
$query = “SELECT id_membre FROM forum_present WHERE id_membre = '”.intval($_SESSION[‘id’])." ’ ";(sans l’espace mais c’est illisible)
MAis bon je suis pas sur que ça change quelque chose

2 : $result = mysql_query($query) or exit(mysql_error());
Pareil juste une idée, c’est pas plutôt : $result = mysql_query($query) or die(mysql_error());

Bonjour,

Peux tu mettre un titre plus explicite en cliquant sur le bouton http://www.clubic.com/forum/img/editer_off.gif ?

Merci.