Probleme de syntax a l'affichage

Résolu
Stef -  
jeremy.s Messages postés 1248 Statut Membre -
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. Pitet
     
    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. Stef
       
      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. jeremy.s Messages postés 1248 Statut Membre 79
       
      Si t'as plus d'erreur le problème vient d'ailleurs !
      0
  2. jeremy.s Messages postés 1248 Statut Membre 79
     
    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
  3. Stef
     
    Je me suis trompé ! ma base de donnée n'etait pas la bonne mais l'erreur est encore là
    0
  4. jeremy.s Messages postés 1248 Statut Membre 79
     
    Pourquoi avoir mis === ? == suffit je pense

    Mmh sinon je sèche, je vois pas trop ...
    T'as fais gaffe aux majuscules/minuscules ?
    0
    1. Pitet
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Stef
     
    Faute de frappe mais heu ok :/ tampis Merci ^^
    0
  7. jeremy.s Messages postés 1248 Statut Membre 79
     
    Retente avec PDO, c'est mon dernier conseil !
    0
    1. Stef
       
      $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. jeremy.s Messages postés 1248 Statut Membre 79
       
      $req->execute() or die(print_r($req->errorInfo()));

      while($res = $req->fetch())
      {
      $contenu = nl2br(stripslashes($res['texteindex']));
      echo $contenu;
      }
      0
    3. Stef
       
      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. jeremy.s Messages postés 1248 Statut Membre 79
       
      Bon bon bon ... ta table index existe bien ?
      0
    5. Stef
       
      Oui, oui ^^, elle est bien dans base de donnée administration ...
      0