[PHP/MySQL] Erreur aléatoire...? - Page 2

Résolu
Précédent
  • 1
  • 2
  1. roukmouth Messages postés 26 Statut Membre 2
     
    je viens de rajouter
    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.
    0
    1. 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...
      0
  2. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
     
    Bon ben c'est la requete peut être, la base ?

    cherchons un peu...
    0
    1. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
       
      Ta variable $titre, elle est mise à jours dans le fichier inclut (celui de connexion) j'imagine.
      Tu peux nous le faire voir stp.
      0
      1. roukmouth Messages postés 26 Statut Membre 2 > kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention  
         
        $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>";
        			?>
        
        0
  3. roukmouth Messages postés 26 Statut Membre 2
     
    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)
    0
  4. roukmouth Messages postés 26 Statut Membre 2
     
    je viens d'effectuer un nouvel essai, j'ai remplacé la boule while par :
    $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.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
     
    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..
    0
  7. roukmouth Messages postés 26 Statut Membre 2
     
    J'ai trouvé la solution !!!!

    Dans ma base de données, tous les titres contenant le signe "+" appelé par $lien_titre ne fonctionnaient pas. J'ai enlevé tous les "+" et les ai remplacé par des "-" et tout fonctionne.

    Je vous remercie tous. Roukmouth...
    0
  8. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
     
    Ben c'est du beai ca tiens ! Tout ce temps perdu pour rien, dorénavant tu saurra qu'il ne faut jamais nommé en commencant par des signe de ponctuation ou autre !

    Ravi que ce soit bon.
    ++
    0
Précédent
  • 1
  • 2