J'ai un Warning mysql_result

Eléphant du PHP | 271 Messages

08 mai 2007, 10:23

Bonjour,
Aux modérateurs du forum: Très sincérement je ne savais pas quoi mettre en sujet. Si vous avez une suggestion ce serait sympa. Merci d'avance.

J'ai le message d'erreur suivant :
Warning: mysql_result() [function.mysql-result]: Unable to jump to row -1 on MySQL result index 9 in /home4/s/sitweb-chr/www/IDF2/contact/forum.php on line 96
Vous pouvez le voir à l'adresse suivante :
http://www.qcmresto.fr/IDF2/index2.php? ... /forum.php

Les lignes incriminées sont celles - ci :
$pseudo = mysql_result($req3,$i-1,"pseudo");
			$mail = mysql_result($req3,$i-1,"mail");
			$question = mysql_result($req3,$i-1,"question");
			$dater = mysql_result($req3,$i-1,"dater");
Si j'ai bien compris le message il dit : attention le résultat de la fonction mysql_result n'est pas possible car je ne peut pas passer la ligne en -1. Par contre je ne comprends pas "on MySQL result index 9 "

Mais pourquoi ce message d'erreur car le code affiche quand même les résultats. La je ne "pige" pas.

Le problème à régler est que le message d'erreur ne s'affiche plus. Bien sur j'ai déjà essayé en l'effaçant mais les résultats de la bdd ne s'affiche plus.

Je précise ici que je n'ai pas taper ce code et mes connaissances en php sont basiques et vous remercie tous de l'aide.


Ci - dessous la page avec le code :
<?
	require("admin/config.php");
	$mysql_link =  MYSQL_CONNECT("$localhost","$login","$mot") OR DIE("Unable to connect to database !!");
	@mysql_select_db($dbName ,$mysql_link ) or die( "Unable to select database ??");
	
	if ($Numero=="2")
	{
		$message2 = ereg_replace("(\r|\n){1,2}", "<br>", $message2);
		$dater=date("Y-m-d H:i:s");
		$req=mysql_query("INSERT INTO forum (dater,pseudo,mail,question,niveau,affiche) VALUES ('$dater','$pseudo','$email','$message2','1','N')");
?>
		<SCRIPT LANGUAGE="Javascript">
			alert ("Votre message a été sauvegardé dans le forum.\nIl s'affichera après validation de l'administrateur du site.");
		</SCRIPT>
<?
	}
?>

<TABLE CELLPADDING=0 CELLSPACING=0 WIDTH="100%" BORDER=0>
<TR>

	<TD WIDTH="100%" VALIGN=TOP>
		<TABLE CELLPADDING=0 CELLSPACING=0 WIDTH="100%" BORDER=0>
		<TR>
			<TD width="200">
			<b><em>Vous êtes sur le forum</em></b>
			</TD>
		</TR>
		<TR>
			<TD COLSPAN=3>
				<TABLE CELLPADDING=10 CELLSPACING=0 WIDTH="100%" BORDER=1 BORDERCOLOR=#808080 style="border-collapse: collapse" ALIGN=MIDDLE>
				<TR>
					<TD ALIGN=LEFT VALIGN=MIDDLE WIDTH=100%>
						<div align=justify>
						<font face="Arial" size=1 color=#000000>
<?
	$req3=mysql_query("SELECT * FROM forum WHERE affiche LIKE 'O' AND niveau LIKE '1' ORDER BY dater DESC");
	$nbr3=mysql_numrows($req3);
	if ($nbr3=="0") 
	{ 
		echo "<FONT FACE=\"Arial\" SIZE=2 COLOR=#000000><b><center>Aucun message dans le forum</center></b>";
	}
	else
	{
		if ($debut+5<=$nbr3) { $fin=$debut+4; } else { $fin=$nbr3; }
		for ($i=$debut;$i<=$fin;$i++)
		{
			$pseudo = mysql_result($req3,$i-1,"pseudo");
			$mail = mysql_result($req3,$i-1,"mail");
			$question = mysql_result($req3,$i-1,"question");
			$dater = mysql_result($req3,$i-1,"dater");
			$dater2= substr($dater,8,2)."/".substr($dater,5,2)."/".substr($dater,0,4)." à ".substr($dater,11,8);	
			echo "<font size=2>$question</font><br>";
			if ($mail=="")
			{
				echo "<div align=right><i>$pseudo, le $dater2</i>";
			}
			else
			{
				echo "<div align=right><i><A class=bleu HREF=\"MAILTO:$mail\">$pseudo</A>, le $dater2</i>";
			}
			echo "</div>";

			$req4=mysql_query("SELECT * FROM forum WHERE affiche LIKE 'O' AND niveau LIKE '2' AND dater LIKE '$dater'");
			$nbr4=mysql_numrows($req4);
			if ($nbr4!="0")
			{
				$question = mysql_result($req4,0,"question");
?>
				<br>
				<TABLE CELLPADDING=2 CELLSPACING=0 WIDTH="570" BORDER=0 ALIGN=CENTER>
				<TR>
					<TD VALIGN=TOP ALIGN=LEFT WIDTH=570 HEIGHT=6 BGCOLOR=#EAFFEA>
						<div align=justify><font face=Arial size=2"><? echo "$question"; ?><br></font>
					</TD>
				</TR>
				</TABLE>
<?
			}
			echo "<br>";
			echo "<font color=#808080>";
			for ($j=1;$j<=189;$j++) { echo "·"; }
			echo "</font><br>";
		}
		$nbrpage=ceil($nbr3/5);
		echo "<FONT FACE=\"Arial\" SIZE=2 COLOR=#000000><center>";
		for ($i=1;$i<=$nbrpage;$i++)
		{
			$debut2=5*($i-1)+1;
			if ($debut2!=$debut)
			{
					echo "<a class=bleu href=forum.php?Numero=1&debut=$debut2>$i</a>";
			}
			else
			{
				echo "<b>$i</b>";
			}
			if ($i!=$nbrpage) { echo " | "; }
		}
	}
?>
Patience et obstination sont des qualités !

Mammouth du PHP | 991 Messages

08 mai 2007, 10:41

Apparament dans ton code tu te retrouve a chercher une id négative or MySql ne peut pas la trouver puis que les id = 0 minimum ^^
DevOps, Symfony4, Hoa

ViPHP
ViPHP | 5924 Messages

08 mai 2007, 11:34

Pourquoi n'utilises tu pas mysql_fetch_array() pour récupérer les résultats. Vu ce que tu fais, c'est quand même plus pratique...

Eléphant du PHP | 271 Messages

08 mai 2007, 15:36

Merci à tous.
Patience et obstination sont des qualités !