Mysql_result() expects parameter 2 to be long

Résolu/Fermé
Profil bloqué - Modifié par Napok le 26/02/2011 à 01:47
 agha - 24 juil. 2012 à 14:35
Bonjour,

j'ai un probléme avec cette erreur : Warning:mysql_result() expects parameter 2 to be long, string given in : C:\Program Files\EasyPHP5.3.0\www..... on line 17


<html>
<body>
<?php
if(($_POST['nom']!="")and($_POST['motpass']!=""))
{
$a=$_POST["nom"];
$b=$_POST["motpass"];
$l = mysql_connect("localhost","root","");
mysql_select_db("ecole");
$r=mysql_query("select login,passw from adherent where login='$a' ");
$n=mysql_numrows($r);

if ($n==0) { echo "<SCRIPT LANGUAGE = \"Javascript\"> alert('login INCORECTE!!!!');";
echo "document.location.href = \"utilisateur.html\" </script>"; }
else
{
$c=mysql_result($r,"passw");

if($b!="$c")
{
echo "<SCRIPT LANGUAGE = \"Javascript\"> alert('MOT DE PASSE INCORECTE !!!!');";
echo "document.location.href = \"utilisateur.html\" </script>";
}
else
{
echo '<SCRIPT LANGUAGE="JavaScript">
document.location.href="target.html" </SCRIPT>';
}
}

mysql_close($l);
}

else
{
echo "<SCRIPT LANGUAGE = \"Javascript\">

alert('Veuillez remplire tous les champs SVP!');";
echo "document.location.href = \"utilisateur.html\" </script>";
}

?>
</body>
</html>



Dans l'attente de vos réponse si vous pouvez trouver l'erreur que j'ai commis.

merci :)
A voir également:

4 réponses

Utilisateur anonyme
3 mars 2011 à 15:54
Ok.

Vérifiez déjà votre requête SQL dans PhpMyAdmin au cas où.

Vérifiez qu'il y a bien une valeur coreecte dans $a, avec un echo $a par exemple

ensuite changes le code comme suit car le second paramètre de mysql_result n'est pas le champ mais la ligne (je n'utilise jamais cette fonction désolé), donc on demande la ligne 0, le troisième paramètre est le champ, chaîne ou integer, on va essayer avec integer pour commencer


$r=mysql_query("select login,passw from adherent where login='$a' ");

if (!$r) { echo "<SCRIPT LANGUAGE = \"Javascript\"> alert('login INCORECTE!!!!');";
echo "document.location.href = \"utilisateur.html\" </script>"; }
else
{
$c=mysql_result($r, 0, 1);

print_r($c);
1
Profil bloqué
4 mars 2011 à 22:10
Merci beaucoup j'ai vérifier à la base de donnée mais j'ai rien trouver comme faute sinon j'ai fait ce que tu ma dit et enfin il est bien marché

mais il ya un ptit problem quand je saisie que le login et correct et le mot de passe incorrect il m'affiche à identification1.php le mot de pass par exemple :

( login : Jack / motdepass : 123 )

et moi j'ai saisie que le login est correcte et le motpasse incorrecte par exemple :

( login : Jack / motdepass : 456 )

il m'affiche à la page de identification1.php le vrai code (123) avec une alert que " le mot de pass est incorrect "
0
Profil bloqué
6 mars 2011 à 05:53
Enfin je suis arrivé c'est à cause de toi merci beaucoup j'ai juste enlever print_r($c);
pour qu'il puisse pas afficher mon mot de passe

Cordialement.
0
Utilisateur anonyme
28 févr. 2011 à 10:41
Bonjour,

mysql_result attend comme second paramètre un nombre, le numéro du champ, pas son nom, dans votre cas ce serait

mysql_result($r,1);

Cordialement
0
Dsl pour le retard et merci de m'avoir répondu,
mais ce que tu ma dis na pas marché la page reste en chargement ...
puisque tu ma dis de mettre "1" au lieu de "passw" j'ai essayé aussi de mettre "b" que j'ai déclarééé au debut mais rien n'est marché.
et bon pour l'autre page html :


<html>


<body>


<FONT FACE="altea" size=4 color="blUE">IDENTIFICATION</font>

<form method="post" action="identification1.php">
Nom Utilisateur : <input name="nom" type="text" > <br> <br> <br>
Mot de pass : <input name="motpass" type="password" ><br> <br> <br>
<input type="submit" name="Submit" value="Connection">

</form>


</body>
</html>
0
Le message d'erreur est toujours là après avoir remplacé "passw" par 1 sans guillements ?
0
Profil bloqué
3 mars 2011 à 14:21
Oui je l'ai remplacé sans guillemets et rien n'est marché il me donne cette erreur :

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 1 on Mysql result index 4 in C:\Program FilesEasyPHP5.3.0\www\Nouveau dossier(2)\identification1.php on line 17
0
Bonjour,
pouvez vous m'aider svp à propos du même erreur ou presque !

""""
Warning: mysql_result() expects parameter 2 to be long, string given in /home/waysonec/public_html/search/search.php on line 13

""""

""""""""""""""
<?php include 'dbconfig.php';
?>
<?php
$catName =$_GET["category"];
$SearchVal =$_GET["mysearch"];
$SearchVal = stripslashes($SearchVal);
$query="SELECT * FROM categories WHERE name='$catName'";
$result=mysql_query($query);

$num=mysql_numrows($result);

if ($SearchVal=="")
{

}
else
{

$resultTag = "SELECT * FROM 'keywords' WHERE 'keyword'= '$SearchVal'";
$res = mysql_query($resultTag);

if (mysql_num_rows($res) > 0) {
$today = date("Y-m-d H:i:s");
$keysql="UPDATE 'keywords' SET count = count + 1, today = '$today' WHERE keyword = '$SearchVal'";
$keyresult = mysql_query($keysql);
} else {
$today = date("Y-m-d H:i:s");
$keysql="INSERT INTO 'keywords' (cat_id, keyword, count, today ) VALUES ('$mycatid','$SearchVal', 1, '$today')";
$keyresult = mysql_query($keysql);
}
}
?>

"""""""""""""
0