Error in your SQL syntax

Bonjour,

j'ai une érreur a ma requette qui est pour le but c'est affiché la page où est le membre actuelle :

donc mon sql :

CREATE TABLE IF NOT EXISTS `forum_present` (
  `id_membre` int(10) NOT NULL,
  `id_forum` varchar(20) collate latin1_bin NOT NULL,
  `id_topic` varchar(10) collate latin1_bin NOT NULL,
  `pseudo` varchar(20) collate latin1_bin NOT NULL,
  `date` date NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_bin;


et le code :

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 enfin l'érreur :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3


et je ne sais pas pour quoi il met cette érreur si quequ'un peut m'aidé seras trés sympas

merci de votre aide
Configuration: Windows XP Internet Explorer 7.0

9 réponses

  • Votes
  • Date
  • Date décroissante
  1. re alors personne ne sais comment on fait pour réparé mon érreur
    1. ok j'ai compris personne m'aide sauf pour mettre des phrases bête

      allez faites des éfforts pour aidé les gens

      merci de votre aide
      1. Désolé j'étais faigué !!!
        Ben à la fin, t'as construction de la dernière requête ...

        $query_delete = '
        DELETE FROM forum_present
        WHERE date < ' . $expected_time . '
        ';

        Il y a deux fois le ' à la fin...
        1. oui c'est normal le guillemet de la fin car c'est la fermeture = '

          donc je ne vois pas où

          mais si tu veux je peut te donné mon msn et je te donnerais la page entier sur ce lien :

          https://pastebin.com/

          comme ca par msn seras mieux et tu m'aideras pour les érreurs sur d'autre page qui est simple pour toi lol

          merci de ton aide
          1. Bonjour,

            A premiere vue, tu as une erreur de syntaxe dans la ligne :
            $query_delete = '
            DELETE FROM forum_present
            WHERE date < ' . $expected_time . '
            ';

            A changer pour:

            $query_delete = '
            DELETE FROM forum_present
            WHERE date < "' . $expected_time . '"';

            La date est une chaine de caractères donc ne pas oublié les double quote!

            courage!
            1. merci toujour érreur

              You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3


              merci