Probléme PHP

AMARI -  
 AMARI -
Bonjour ,
j'ai la page index quand j'ai rentré le login et le password pour aller à l'autre page il m'affiche cet erreur "Fatal error: Call to undefined method mysqli_result::rowcount() in C:\wamp\www\User\index.php on line 7"
voilà le code je sais pas comment corriger l'erreur , quelqu'un peut m'aider svp.
<?php
$msg="";
if(isset($_POST['connect'])){
require_once('dbconnect.php');
$sql="SELECT * FROM utilisateur WHERE login='".$_POST['login']."' AND password='".$_POST['password']."' ";
$requete = $db->query($sql);
$nb_reponses=$requete -> rowcount(); // ligne 7
if($nb_reponses ==1){
$donnees=$requete->fetch();
session_start();
$_SESSION['id_utilisateur']=$donnees['id_utilisateur'];
header('Location:scenari_utilisateur.php');
}else{
$msg="Erreur Login / mdp ";
}
}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
<head>
<title>ESPACE PRIVE </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form name="form_login" method="post" action="">
Login: <input type="text" name="login" value="" /><br />
mdp: <input type="text" name="password" value="" /><br />
<?php
if($msg!="") echo '<font color="red">'.$msg.'</font><br />';
?>
<input type="submit" name="connect" value="Se connecter" /><br />
</form>
</body>
</html>
A voir également:

5 réponses

AMARI
 
Merci pour vos aide , c'est bon j'ai trouvé l'erreur :)
1
Utilisateur anonyme
 
Surtout, ne dis pas ce que tu as fait, ça risquerait de servir à quelqu'un d'autre.
0
Kaldoran Messages postés 146 Statut Membre 29
 
D'apres moi l'erreur est la suivante :

$req->rowCount(

$nb_reponses=$requete -> rowCount(); // oubli de la majuscule

apres il est possible qu'elle prenne en parametre la requete :

$nb_reponses=$requete ->rowCount($sql);

a verifier

Mais c'ets surtout l'oubli de la majuscule a Count qui crée l'erreur d'apres moi
0
AMARI
 
j'ai essayé avec ta correction mais il m'affiche tjrs le même erreur :(
0
AMARI
 
'ai essayé avec ta correction mais il m'affiche tjrs le même erreur :(
0
Utilisateur anonyme
 
Bonjour

Je n'ai pas l'habitude d'utiliser Mysqli, mais comme le message te le dit, la fonction mysqli_result::rowcount() n'existe pas : il suffit de le vérifier dans le manuel.
Où es-tu allé chercher cette fonction ?

Je suppose que ce que tu cherches est celle-ci mais lis bien la doc, elle ne fait peut-être pas toujours exactement ce que tu veux. Tu as probablement intérêt à utiliser un SELECT COUNT pour connaître de manière sûre le nombre de réponses.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
AMARI
 
j'ai changé $nb_reponses=$requete ->rowCount($sql); par
$row_cnt = mysqli_num_rows($requete);
et j'annuler cette ligne //$donnees=$requete->fetch_row();
voilà le code ça marche

<?php
$msg="";
if(isset($_POST['connect'])){
require_once('dbconnect.php');
$sql="SELECT * FROM utilisateur WHERE login='".$_POST['login']."' AND password='".$_POST['password']."' ";
echo $sql ;
$requete = $db->query($sql) ;
//$nb_reponses=$requete ->rowCount($sql);
$row_cnt = mysqli_num_rows($requete);
if($row_cnt ==1){
//$donnees=$requete->fetch_row();
session_start();
$_SESSION['id_utilisateur']= 'id_utilisateur';
header('Location:scenari_utilisateur.php');
}else{
$msg="Erreur Login / mdp ";
}
}
0