Erreur de syntaxe MYSQL
Résolu
rose-marie252
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
rose-marie252 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
rose-marie252 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous, voilà je débute en PHP/MYSQL et lors de la réalisation d'un certain TP je tombe sans cesse sur le message d'erreur suivant: 'erreur de syntaxe pres de '5' à ligne 1', ce qui me tracasse c le fait de ne pouvoir localiser l'erreur sinon ça se serait plus evident, si vous pouvez m'expliquer ce que 'ligne1' et '5' signifient (est-ce cela à rapport avec un mysql_query specifique) vous me serrez d'une grande aide. Merci encore pour votre interet et bonne soirée.
PS: j'utilise tout le temps des die (mysql_error()) mais ils semblent peu explicite quand à la situation de l'erreur.
PS: j'utilise tout le temps des die (mysql_error()) mais ils semblent peu explicite quand à la situation de l'erreur.
A voir également:
- Erreur de syntaxe MYSQL
- Mysql community server - Télécharger - Bases de données
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
3 réponses
Salut
Pourrais-tu nous mettre le code ?
Sinon l'interpréteur dit qu'il y a une logiciel à la première ligne de ton programme
Pourrais-tu nous mettre le code ?
Sinon l'interpréteur dit qu'il y a une logiciel à la première ligne de ton programme
Bonjour, j'ai pas bien compris mais je t' envois le code quand même:
<html><body> <p>Voici mon livre d'or<br/>Veuillez me laisser un message<br/></p> <form method="post"> <p> Pseudo: <input type="text" name="pseudo" tabindex="10"/><br/> Message: <textarea name="message" tabindex="20"></textarea> <br/> <input type="submit" tabindex="30"/><br/> </p> </form> <?php //ajouter à la base if(isset($_POST['pseudo']) and isset($_POST['message'])) { if($_POST['pseudo']!=null and $_POST['message']!=null) { $pseudo=htmlentities($_POST['pseudo'], ENT_QUOTES); $message=htmlentities($_POST['message'], ENT_QUOTES); mysql_connect("localhost","root",""); mysql_select_db("test"); mysql_query("insert into livre_dor values('','$pseudo','$message')") or die (mysql_error()); mysql_close(); } } //calculer le nombre d'entrees ds le livre d'or mysql_connect("localhost","root",""); mysql_select_db("test"); $resultat=mysql_query("select count(*) as entrees from livre_dor") or die (mysql_error()); $tot=mysql_fetch_array($resultat); $total=$tot['entrees']; //jusqu'ici ça marche nickel //afficher le nombre de page en forme de lien $messages_par_page=5; $pages=ceil($total/$messages_par_page); echo 'Page: '; for ($i=1; $i<$pages; $i++) { echo'<a href="revision.php?numero_page='.$i.'">'.$i.'</a>'; } echo '<br/>'; //affiher les $messages_par_page dans chaque page if(isset($_GET['numero_page'])) { $np=$_GET['numero_page']; } else { $np=1; } $pp=($pages+1)-$np; $premier_message_a_afficher=$pp*$messages_par_page; $res=mysql_query('select * from livre_dor limit'.$premier_message_a_afficher.', '.$messages_par_page) or die (mysql_error()); while($affichage=mysql_fetch_array($res)) { echo $affichage['pseudo'].' a dit: '.$affichage['message'].'<br/>'; } mysql_close(); ?></body></html>
Bonjour, me revoilà
j'ai refait le code, enfin le même mais je l'ai simplifié (j'ai recréé la table mais cette fois avec un seul champ le pseudo'et l'ID' bien sur, pour faire simple et trouver l'erreur surtout) donc au lieu de travailler sur deux variables(pseudo et message) le programme n'aurau qu'à travailler sur pseudo.
et cette fois çi ça marcheee yeees lol
En tout il y avait deux petits pbms dans l'ancien code: le premier dans la boucle pour afficher les numeros de pages sous forme de lien:
et le deuxième dans le calcul du premier message à afficher
et un tout petit dernier dans LIMIT
il faut laisser un espace entre limite et '
enfin je renvois l'ancien code corrigé pour ceux qui s'y interessent et j'espère que ça vous sera utile
j'ai refait le code, enfin le même mais je l'ai simplifié (j'ai recréé la table mais cette fois avec un seul champ le pseudo'et l'ID' bien sur, pour faire simple et trouver l'erreur surtout) donc au lieu de travailler sur deux variables(pseudo et message) le programme n'aurau qu'à travailler sur pseudo.
et cette fois çi ça marcheee yeees lol
<html><body> <form method="post"> <input type="text" name="pseudo"/> <input type="submit"/> </form> <?php //Ajout du Pseudo dans la table "exemple" if (isset($_POST['pseudo'])) { $pseudo=$_POST['pseudo']; mysql_connect("localhost","root",""); mysql_select_db("test"); mysql_query("insert into exemple values ('','$pseudo')") or die(mysql_error()); mysql_close(); } //calclul du nombre des entrees dans la tble "exemple" mysql_connect("localhost","root",""); mysql_select_db("test"); $entrees=mysql_query("select count(*)as entrees from exemple") or die (mysql_error()); $total=mysql_fetch_array($entrees); $nombre=$total['entrees']; mysql_close(); //calcul du nombre des pages et son ecriture sous forme de lien $ps=3; //nombre de pseudos par page $pages=ceil($nombre/$ps); //nombre des pages for($i=1; $i<=$pages; $i++) { echo '<a href="exemple.php?numero_page='.$i.'">'.$i.'</a>'; } echo'<br/>'; //transmission du numero de la page par GET if(isset($_GET['numero_page'])) { $lapage=$_GET['numero_page']; } else { $lapage=1; } //calcul du premier pseudo duquel MYSQL va commencer l'affichage suivant le numero de la page //et limite de l'affichage au troisieme pseudo à partir du premier à afficher $limite=$ps*($lapage-1); mysql_connect("localhost","root",""); mysql_select_db("test"); $mon_dernier_resultat=mysql_query("select * from exemple order by id desc limit ".$limite.",3"); while($dernier_resultat=mysql_fetch_array($mon_dernier_resultat)) { echo $dernier_resultat['pseudo']."<br/>"; } mysql_close(); ?> </body></html>
En tout il y avait deux petits pbms dans l'ancien code: le premier dans la boucle pour afficher les numeros de pages sous forme de lien:
for ($i=1; $i<$pages; $i++)faux
for ($i=1; $i<=$pages; $i++)correct
et le deuxième dans le calcul du premier message à afficher
$pp=($pages+1)-$np; $premier_message_a_afficher=$pp*$messages_par_page;faux
$premier_message_a_afficher=$messages_par_page*($np-1);correct
et un tout petit dernier dans LIMIT
il faut laisser un espace entre limite et '
enfin je renvois l'ancien code corrigé pour ceux qui s'y interessent et j'espère que ça vous sera utile
<html><body> <p style="text-align:center">Voici mon livre d'or<br/>Veuillez me laisser un message<br/></p> <form method="post"> <p style="text-align:center">Pseudo: <br/><input type="text" name="pseudo"/><br/> Message: <br/><textarea name="message"></textarea><br/> <input type="submit"><br/> </p></form> <?php //ajouter la nouvelle entree if(isset($_POST['pseudo']) and isset($_POST['message'])) { if($_POST['pseudo']!=null and $_POST['message']!=null) { $pseudo=htmlentities($_POST['pseudo'], ENT_QUOTES); $message=htmlentities($_POST['message'], ENT_QUOTES); mysql_connect("localhost","root",""); mysql_select_db("test"); mysql_query("insert into livre_dor values('','$pseudo','$message')") or die (mysql_error()); mysql_close(); } } //calculer le nombre d'entrees mysql_connect("localhost","root",""); mysql_select_db("test"); $resultat=mysql_query("select count(*) as entrees from livre_dor") or die (mysql_error()); $affichage=mysql_fetch_array($resultat); $entrees=$affichage['entrees']; mysql_close(); //calculer le nombre de page $mpp=5; $pages=ceil($entrees/$mpp); echo'Page: '; for($i=1; $i<=$pages; $i++) { echo'<a href="livre_dor.php?numero_page='.$i.'">'.$i.'</a>'.' '; } echo'<br/>'; //afficher les pages if(isset($_GET['numero_page'])) { $numero_page=$_GET['numero_page']; } else { $numero_page=1; } $premier_message=$mpp*($numero_page-1); mysql_connect("localhost","root",""); mysql_select_db("test"); $result=mysql_query("select * from livre_dor order by id desc limit ".$premier_message.",".$mpp) or die (mysql_error()); while($resultat_final=mysql_fetch_array($result)) { echo $resultat_final['pseudo'].' a dit: '.$resultat_final['message'].'<br/>'; } mysql_close(); ?> </body></html>