Problème de syntaxe dans une requête MySQL
Résolu
polarbird
Messages postés
125
Statut
Membre
-
polarbird Messages postés 125 Statut Membre -
polarbird Messages postés 125 Statut Membre -
Bonsoir,
Je rencontre actuellement un problème avec une requête MySQL.En effet,j'obtiens ce message : "
Ce message est aussi associé au message "Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in E:\wamp\www\bk_forum\voir_sujet.php on line 160".
Je n'arrive pas à résoudre ce problème,bien que j'ai déjà essayé de remanier ma requête SQL plusieurs fois.
Voici l'intégralité de mon code : toutes les variables utilisées dans ma requête ont bien été déclarées.
D'avance je vous remercie de votre aide,
Cordialement,
polarbird
Je rencontre actuellement un problème avec une requête MySQL.En effet,j'obtiens ce message : "
You have an error in your [/contents/1062-le-langage-sql SQL] syntax; [/download/telecharger-34065664-check-drive check] the manual that corresponds to your MySQL server version for the right syntax to use near '"0","10"' [/contents/1147-introduction-aux-systemes-unix at] [http://www.commentcamarche.net/download/telecharger-34098305-line line] 1".
Ce message est aussi associé au message "Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in E:\wamp\www\bk_forum\voir_sujet.php on line 160".
Je n'arrive pas à résoudre ce problème,bien que j'ai déjà essayé de remanier ma requête SQL plusieurs fois.
Voici l'intégralité de mon code : toutes les variables utilisées dans ma requête ont bien été déclarées.
<?php session_start(); include 'pdo.inc.php'; include 'activite.inc.php'; ?> <?php include 'db.inc.php'; $sql3 = 'SELECT titre,locked FROM messages WHERE cat="'.$_GET['cat'].'" AND id="'.$_GET['id'].'" '; $rst = mysql_query($sql3); $abc = mysql_fetch_array($rst); ?> <[/contents/498-html-langage html]> <head> <meta charset="utf-8" /> <title><?php echo $abc['titre']; ?> • Forum • barakuda.olympe.in</title> <link rel="stylesheet" type="text/css" href="style2.css" /> <!-- barre fixe start --> <!-- barre fixe stop --> <?php include 'fancybox.php'; ?> </head> <body> <center><a href="index.php"><img src="logo3.png" title="Forum" alt="Forum" /></a></center> <div id="barre"> <span class="left">Index > <a href="voir_categorie.php?cat=<?php echo $_GET['cat']; ?>">Voir catégorie</a> > Voir sujet</span> <?php if(!isset($_SESSION['pseudo'])) { echo '<span class="right"><a href="login.php">Connexion</a> • <a href="inscription.php">Inscription</a></span>'; } else { ?> <?php include 'db.inc.php'; $test_mp = mysql_query('SELECT COUNT(*) FROM mp WHERE id_destinataire="'.$_SESSION['id'].'" AND ok="0"'); $test_mp2 = mysql_fetch_row($test_mp); $mp_non_lu = $test_mp2[0]; ?> <?php include 'menu.php'; ?> <?php } ?> </div> <center> <?php if($abc['locked'] == 0){ if(isset($_SESSION['pseudo'])) { $testa = mysql_query('SELECT COUNT(*) FROM messages WHERE id="'.$_GET['id'].'" AND cat="'.$_GET['cat'].'"'); $testb = mysql_fetch_row($testa); $testc = $testb[0]; if($testc != 0){ ?> <a href="poster.php?cat=<?php echo $_GET['cat']; ?>&id=<?php echo $_GET['id']; ?>" class="btn1">Répondre</a> <?php } } } ?> <?php if(isset($_SESSION['auth'])){ if($_SESSION['auth'] > 1){ if($_SESSION['ban'] == 0){ ?> <a href="lock.php?cat=<?php echo $_GET['cat']; ?>&id=<?php echo $_GET['id']; ?>" class="btn1"> <?php switch($abc['locked']){ case 1: echo 'Déverrouiller'; break; case 0: echo 'Verrouiller'; break; } ?> </a> <?php } } } ?> <?php if($abc['locked'] == 0){ if(isset($_SESSION['pseudo'])) { if($_SESSION['auth'] > 1){ $testa = mysql_query('SELECT COUNT(*) FROM messages WHERE id="'.$_GET['id'].'" AND cat="'.$_GET['cat'].'"'); $testb = mysql_fetch_row($testa); $testc = $testb[0]; if($testc != 0){ ?> <a href="del_sujet.php?cat=<?php echo $_GET['cat']; ?>&id=<?php echo $_GET['id']; ?>" class="btn1">Supprimer</a> <?php } } } } ?> </center> <center> <h1> <?php switch($abc['locked']){ case 1: echo '[VERROUILLÉ]'; break; case 0: echo ''; break; } ?> <?php echo $abc['titre']; ?> </h1> </center> <!-- PAGINATION --> <?php //Fonction listant les pages function get_list_page($page, $nb_page, $link, $nb = 2){ $list_page = array(); for ($i=1; $i <= $nb_page; $i++){ if (($i < $nb) OR ($i > $nb_page - $nb) OR (($i < $page + $nb) AND ($i > $page -$nb))) $list_page[] = ($i==$page)?'<strong>'.$i.'</strong>':'<a href="'.$link.'&page='.$i.'">'.$i.'</a>'; else{ if ($i >= $nb AND $i <= $page - $nb) $i = $page - $nb; elseif ($i >= $page + $nb AND $i <= $nb_page - $nb) $i = $nb_page - $nb; $list_page[] = '...'; } } $print= implode('-', $list_page); return $print; } ?> <?php if(isset($_GET['page'])){ $page = mysql_real_escape_string($_GET['page']); }else{ $page = 1; } $requete1 = mysql_query('SELECT COUNT(*) FROM messages WHERE cat="'.$_GET['cat'].'" AND id="'.$_GET['id'].'"'); $requete2 = mysql_fetch_row($requete1); $requete3 = $requete2[0]; $limite = 10; $resultats = ceil($requete2[0]/$limite); $nb_page = $resultats; $debut = $page * $limite; echo $debut; echo $limite; $cat2 = $_GET['cat']; $id2 = $_GET['id']; echo '<p>Page : '; echo get_list_page($page, $nb_page, "http://localhost/bk_forum/voir_sujet.php?cat=$cat2&id=$id2"); echo'</p>'; ?> <!-- PAGINATION --> <table> <?php $sql14 = mysql_query('SELECT * FROM messages WHERE cat="'.$_GET['cat'].'" AND id="'.$_GET['id'].'" ORDER BY message_id ASC LIMIT "'.$debut.'","'.$limite.'"'); while($data = mysql_fetch_array($sql14)or die(mysql_error())) { ?> <?php $sql = 'SELECT * FROM membres WHERE id="'.$data['auteur_id'].'" '; $result = mysql_query($sql); $dd = mysql_fetch_array($result); ?> <!-- MESSAGE --> <!-- MESSAGE --> <!-- MESSAGE --> <tr> <td class="auteur_info"> <center><p><a class="auteur_link" href="voir_profil.php?id=<?php echo $data['auteur_id']; ?>"><?php echo $dd['pseudo']; ?></a><br /><img src="<?php echo $dd['avatar']; ?>" title="Avatar" alt="Avatar" width="100px" height="100px" style="margin:10px;" /></p></center> <p><?php switch ($dd['auth']){ case 1: echo 'Membre'; break; case 2: echo 'Modérateur'; break; case 3: echo 'Administrateur'; break; } ?><br /> <?php echo $dd['pays']; ?><br /> <?php $post1 = mysql_query('SELECT COUNT(*) FROM messages WHERE auteur_id="'.$dd['id'].'"'); $post2 = mysql_fetch_row($post1); $post3 = $post2[0]; ?> <?php if($post3 <= 1){ echo $post3; echo ' message'; }else{ echo $post3; echo ' messages'; } ?> </p> </td> <td id="msg<?php echo $data['message_id']; ?>" class="msg"> <div class="contenu_msg"> <span class="date_post"><?php echo date ('d-m-Y' ,$data['timestamp']); ?> à <?php echo date ('H:i' ,$data['timestamp']); ?></span> <?php $message = $data['message']; echo $message; ?> <br /> <?php if(!empty($dd['signature'])){ echo '<hr>'; echo $dd['signature']; } ?> </div> </td> </tr> <tr> <td class="td_buttons"> <?php if(isset($_SESSION['auth'])){ if($_SESSION['auth'] > 1 || $_SESSION['id'] == $data['auteur_id']){ ?> <a href="del_msg.php?cat=<?php echo $_GET['cat']; ?>&id=<?php echo $_GET['id']; ?>&message_id=<?php echo $data['message_id']; ?>" title="Supprimer ce message"><img src="icons/cross.png" /></a> <?php } } ?> <?php if(isset($_SESSION['id'])){ if($_SESSION['id'] == $data['auteur_id']){ ?> <a href="maj_msg.php?cat=<?php echo $_GET['cat']; ?>&id=<?php echo $_GET['id']; ?>&message_id=<?php echo $data['message_id']; ?>" title="Modifier ce message"><img src="icons/page_white_edit.png" /></a> <?php } } ?> <?php if(isset($_SESSION['id'])){ ?> <a href="signal.php?cat=<?php echo $_GET['cat']; ?>&id=<?php echo $_GET['id']; ?>&message_id=<?php echo $data['message_id'];?>" title="Signaler ce message"><img src="icons/flag_red.png" /></a> <a href="reponse.php?cat=<?php echo $_GET['cat']; ?>&id=<?php echo $_GET['id']; ?>&message_id=<?php echo $data['message_id'];?>" title="Répondre en citant ce message"><img src="icons/comments.png" /></a> <?php } ?> </td> <td class="contact"> <?php if(!empty($dd['skype'])){ echo '<a href="skype:'; echo $dd['skype']; echo '?chat'; echo '" title="'; echo $dd['skype']; echo '">'; echo 'Skype'; echo '</a> '; } ?> <?php if(!empty($dd['siteweb'])){ echo '<a href="'; echo $dd['siteweb']; echo '" title="'; echo $dd['siteweb']; echo '" target="_blank">'; echo 'Site web'; echo '</a>'; } ?> </td> </tr> <?php } mysql_close(); ?> </table> </body> </html>
D'avance je vous remercie de votre aide,
Cordialement,
polarbird
A voir également:
- Problème de syntaxe dans une requête MySQL
- Mysql community server - Télécharger - Bases de données
- La syntaxe du nom de fichier de répertoire ou de volume est incorrecte ✓ - Forum Windows 10
- Trouver erreur de syntaxe fichier txt - Forum Windows
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Java
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
3 réponses
Bonsoir
Tu as mis des " autour des paramètres du LIMIT de ta requête.
Or, ces paramètres sont obligatoirement des constantes numériques et ne peuvent pas être des chaînes :
LIMIT 0,10 est correct
LIMIT "0","10" est incorrect
MySQL fait le changement de type dans la plupart des cas, mais pas pour le LIMIT.
Tu as mis des " autour des paramètres du LIMIT de ta requête.
Or, ces paramètres sont obligatoirement des constantes numériques et ne peuvent pas être des chaînes :
LIMIT 0,10 est correct
LIMIT "0","10" est incorrect
MySQL fait le changement de type dans la plupart des cas, mais pas pour le LIMIT.
Bonsoir,
Commençons par voir si tes requetes SQL sont bien formées. La ligne 8 par exemple
Et voyons ce que ça donne
Cdt
En informatique 99% des problèmes se situent entre le fauteuil et le clavier
Commençons par voir si tes requetes SQL sont bien formées. La ligne 8 par exemple
$sql3 = 'SELECT titre,locked FROM messages WHERE cat="'.$_GET['cat'].'" AND id="'.$_GET['id'].'" '; echo $sql3; die();
Et voyons ce que ça donne
Cdt
En informatique 99% des problèmes se situent entre le fauteuil et le clavier