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>

5 réponses

  1. AMARI
     
    Merci pour vos aide , c'est bon j'ai trouvé l'erreur :)
    1
    1. Utilisateur anonyme
       
      Surtout, ne dis pas ce que tu as fait, ça risquerait de servir à quelqu'un d'autre.
      0
  2. 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
    1. AMARI
       
      j'ai essayé avec ta correction mais il m'affiche tjrs le même erreur :(
      0
  3. AMARI
     
    'ai essayé avec ta correction mais il m'affiche tjrs le même erreur :(
    0
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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