[PHP/MySQL] Erreur aléatoire...? - Page 2
Résolu
Précédent
- 1
- 2
je viens de rajouter
et le résultat est 0 pour les pages où cela ne fonctionnent pas et 1 pour celles qui fonctionnent.
Et en effet,
ne change rien.
echo mysql_num_rows($result)
et le résultat est 0 pour les pages où cela ne fonctionnent pas et 1 pour celles qui fonctionnent.
Et en effet,
$query = " SELECT * FROM liens WHERE lien_titre = '".$titre."'";
ne change rien.
kilian
Messages postés
8675
Date d'inscription
Statut
Modérateur
Dernière intervention
1 526
C'est à dire? Si tu executes ce mysql_num_rows avant la boucle, tu ne devrais avoir qu'un seul resultat, un chiffre de 0 à n... Mais pas un chiffre pour chaque ligne...
Bon ben c'est la requete peut être, la base ?
cherchons un peu...
cherchons un peu...
$titre n'est pas dans le fichier de connexion mais dans l'URL de la page envoyé par la page précedante. Voici son code :
<?php
include("fichier de connexion");
$connexion = mysql_connect($host, $user, $pass) or die ("Connexion au serveur impossible");
$db = mysql_select_db($base, $connexion) or die ("La base de données ne peut être sélectionnée");
$query = " SELECT * FROM liens
WHERE lien_categorie = '$cat'
ORDER BY lien_titre"; //$cat étant dans l'URL de la page
$query2 = " SELECT * FROM liens
ORDER BY lien_titre";
$result = mysql_query ($query) or die ("Exécution de la requête impossible");
$result2 = mysql_query ($query2) or die ("Exécution de la requête impossible");
$nblignes = mysql_num_rows ($result);
$nblignes2 = mysql_num_rows ($result2);
for ($i=0; $i<$nblignes; $i++)
{
$ligne = mysql_fetch_array ($result);
extract($ligne);
echo " <tr>
<td width='50%'>
<center>
<br>
<a href='fichelien_auto.php?titre=$lien_titre'> //fichelien_auto.php étant la page à problème citée plus haut
<img src='$lien_image' border='0' align='left'>
<b><h3>$lien_titre</h3></b></a>
Ajouté le $lien_date par $lien_membre
</center>
</td>";
$i++;
if ($i<$nblignes)
{
$ligne = mysql_fetch_array ($result);
extract($ligne);
echo " <td width='50%'>
<center>
<br>
<a href='fichelien_auto.php?titre=$lien_titre'>
<img src='$lien_image' border='0' align='left'>
<b><h3>$lien_titre</h3></b></a>
Ajouté le $lien_date par $lien_membre
</center>
</td>
</tr>";
}
else
{
$i--;
echo " <td width='50%'>
</td>
</tr>";
}
}
echo " </table>
<br>
<center><u>Résultat : <b>$i</b> liens sur un total de <b>$nblignes2</b></u></center>
<br>
<center><img src='retour.gif' border='0' onClick='history.go(-1)'></center>";
?>
tous les "lien_page" de la base de données sont de type : lien_*.php" où * est généralement le nom d'un lien (ex: lien_187codemeurtre.php) et tous ces fichiers sont situés au même endroit. Alors pourquoi est-ce si aléatoire??? (Mais c'est toujours les mêmes qui fonctionnent et les mêmes qui ne fonctionnent pas bien sûr)
je viens d'effectuer un nouvel essai, j'ai remplacé la boule while par :
Mais cela ne change strictement rien.
$query = " SELECT * FROM liens
WHERE lien_titre = '$titre'";
$result = mysql_query ($query) or die ("Exécution de la requête impossible");
$nblignes = mysql_num_rows ($result);
for ($i=0; $i<$nblignes; $i++)
{
$ligne = mysql_fetch_array ($result);
extract($ligne);
echo " <br>
<img src='$lien_image' border='0' align='left'>
<h3><b>$lien_titre</b></h3>
Ajouté le $lien_date par $lien_membre<br>
<b>Catégorie : </b>$lien_categorie<br />";
if ($lien_genre2 == "")
{
echo"<b>Genre : </b>$lien_genre1<br>";
}
else
{
echo"<b>Genre : </b>$lien_genre1 / $lien_genre2<br>";
}
include($lien_page);
}
Mais cela ne change strictement rien.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je trouve ca quand même bizarre que tu ne mette pas ta variable de connexion quand tu fais un mysql_query. Tu ouvre une connexion ou ? Et tu la ferme ou ? Car si tu en ouvre une au début, et que tu ne la ferme qu'à la fin de toute tes pages, c'est possible qu'entre temps la connexion soit fermée si une erreur que tu n'a pas prévue (par un die("message"), arrive finalement (apres avoir affiché ta page, et de ce coup, quand tu clique sur un truc pour aller dans la page suivante, ta connexion n'étant pas effective, les requetes ne se font pas, et rien n'est affiché.
Peut etre..
Peut etre..
Précédent
- 1
- 2