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