Probleme de syntax a l'affichage

Résolu/Fermé
Stef - 5 juin 2013 à 14:52
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 - 5 juin 2013 à 16:18
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

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
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
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
5 juin 2013 à 16:01
Si t'as plus d'erreur le problème vient d'ailleurs !
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
5 juin 2013 à 15:06
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
Je me suis trompé ! ma base de donnée n'etait pas la bonne mais l'erreur est encore là
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
5 juin 2013 à 15:12
Pourquoi avoir mis === ? == suffit je pense

Mmh sinon je sèche, je vois pas trop ...
T'as fais gaffe aux majuscules/minuscules ?
0
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Faute de frappe mais heu ok :/ tampis Merci ^^
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
5 juin 2013 à 15:16
Retente avec PDO, c'est mon dernier conseil !
0
$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
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
5 juin 2013 à 15:29
$req->execute() or die(print_r($req->errorInfo()));

while($res = $req->fetch())
{
$contenu = nl2br(stripslashes($res['texteindex']));
echo $contenu;
}
0
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
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
5 juin 2013 à 15:44
Bon bon bon ... ta table index existe bien ?
0
Oui, oui ^^, elle est bien dans base de donnée administration ...
0