Probléme PHP
AMARI
-
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>
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:
- Call to undefined method mysqli_stmt::rowcount()
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
5 réponses
Utilisateur anonyme
Surtout, ne dis pas ce que tu as fait, ça risquerait de servir à quelqu'un d'autre.
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
$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
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.
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 ";
}
}
$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 ";
}
}