Erreur Warning: mysql_result(): Unable to jump to row 1 ...

Petit nouveau ! | 2 Messages

25 avr. 2005, 14:45

Bonjour, je desespère avec cette erreur.

Est-ce que qqn l'a déjà eu ou pourrait m'aider s'il vous plait?

Merci d'avance.

Pepperann

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

25 avr. 2005, 16:10

Peux-tu nous montrer la requête qui a provoqué cette erreur ? ;)
Et, tant qu'on y est, la structure des tables impliquées ?

Eléphanteau du PHP | 25 Messages

25 avr. 2005, 16:10

tu utilise la fonction mysql_result
soit
sur un enregistrement SQL vide
il te genere donc cette erreur la technique consite a tester l'existence de donnes dans ton recordset

function sqlexist($ressource) {
if (mysql_num_rows($ressource)!=0) { return true ; }
return false ; } 

// dans ton code ca donne 

if (sqlexist) {$resultat = mysql_result($ressource,0); }  
soit tu a oublier que le premier resultat d'une requete porte le numero 0 et non pas 1

remplace donc dans ce cas
mysql_result($ressource, 1) par  mysql_result($ressource, 0)

Petit nouveau ! | 2 Messages

26 avr. 2005, 05:48

Merci pour ton aide.

Ma requête ne retourne effectivement aucun résultat.

Cela vient du fait que je veux récupérer un nom et un prenom via la requête :

$query = "Select Nom, Prenom from bénéficiaire where Nom like '$lettre%' order by Nom";

$request = mysql_query($query);

Mais lorsque je parcours les résultats de cette requête en utilisant :

while (mysql_fetch_row( $request))
{
//on récupère les nom et prénoms des personnes :
$name = mysql_result($request , 1);
$firstname = mysql_result($request , 2);

$firstname contient en fait le nom de la deuxième personne.

Pourrais-tu ou pourriez vous m'aider svp ?

Eléphanteau du PHP | 25 Messages

26 avr. 2005, 09:04

tu fait un double usage en fin de compte mysql_fectch_rows avance dans le recordset et mysql_result aussi ainsi quand tu affiches ton resultat tu a deja avancer.

voila un code qui devrait mieux fonctionner :
$query = "Select Nom, Prenom from bénéficiaire where Nom like '$lettre%' order by Nom";

$request = mysql_query($query);

// Mais lorsque je parcours les résultats de cette requête en utilisant :

while ($donnes = mysql_fetch_row( $request))
{
//on récupère les nom et prénoms des personnes :
$name = $donnes[0];
$firstname = $donnes[1];
}