Probleme de syntax a l'affichage

Résolu
Bonjour,

je souhaite afficher le contenu dans ma base de donnée et ...
<?php
					mysql_connect("localhost", "root", "");
					mysql_select_db('index');
					
					$retour = mysql_query("SELECT * FROM index");
					if($retour === false) {
					die(mysql_error());
						}
					while ($donnees = mysql_fetch_array($retour))
					{
						$contenu = nl2br(stripslashes($donnees['texteindex']));
						echo $contenu; }
						?>


voici mon erreur 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 'index' at line 1

6 réponses

  1. Salut,

    INDEX est un mot réservé en MySQL, tu ne peux pas nommer de table ou de champ avec ce mot.

    Bonne journée
    2
    1. ah oui mais non ^^ j'ai remplacé mes index par des news et refait ma table dans la bdd et il ne m'affiche plus rien
      0
    2. Si t'as plus d'erreur le problème vient d'ailleurs !
      0
  2. Erreur de syntaxe dans ta requete, mais alors je vois pas trop où elle est ... !
    SELECT * FROM index ... Ta table index existe bien ? Et ta base de données 'index' existe bien aussi ?
    0
    1. Je me suis trompé ! ma base de donnée n'etait pas la bonne mais l'erreur est encore là
      0
      1. Pourquoi avoir mis === ? == suffit je pense

        Mmh sinon je sèche, je vois pas trop ...
        T'as fais gaffe aux majuscules/minuscules ?
        0
        1. http://www.php.net/manual/fr/language.operators.comparison.php

          Permet de comparer le type en plus de comparer la valeur. Le triple égal est donc mieux adapté pour cette comparaison afin d'éviter d'éventuels problèmes de transtypage
          0
      2. Faute de frappe mais heu ok :/ tampis Merci ^^
        0
        1. Retente avec PDO, c'est mon dernier conseil !
          0
          1. $db = new PDO("mysql:host=localhost;dbname=administration", 'root', '');
            					$req = $db->prepare('SELECT * FROM index'); 
            					$req->execute(); 
            					$res = $req->fetch(); 
            						$contenu = nl2br(stripslashes($res['texteindex']));
            						echo $contenu;
            						$db->exec($sql);
            						$db=null;


            Pas d'erreur mais rien par contre
            0
          2. $req->execute() or die(print_r($req->errorInfo()));

            while($res = $req->fetch())
            {
            $contenu = nl2br(stripslashes($res['texteindex']));
            echo $contenu;
            }
            0
          3. ah le while ... evidemment

            Array ( [0] => 42000 [1] => 1064 [2] => 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 'index' at line 1 ) 1
            0
          4. Bon bon bon ... ta table index existe bien ?
            0
          5. Oui, oui ^^, elle est bien dans base de donnée administration ...
            0