Function nombre_membre en pdo
Résolu
Zakarya93
Messages postés
1026
Statut
Membre
-
hharchi9 Messages postés 693 Statut Membre -
hharchi9 Messages postés 693 Statut Membre -
Bonjour,
Pour ne pas faire de betises, j'aimerai savoir comment changer cette function nombre_membre en pdo sachant qu'elle est en mysql (obsolète) :
Merci d'avance :D
Pour ne pas faire de betises, j'aimerai savoir comment changer cette function nombre_membre en pdo sachant qu'elle est en mysql (obsolète) :
// la fonction qui va compter le nombre de personne incrite
function nombre_membre()
{
$query = mysql_query("SELECT COUNT(id) FROM utilisateurs");
return mysql_result($query,0);
}
?>
Merci d'avance :D
2 réponses
-
Bonjour,
Sauf erreur de ma part voici la fonction modifiée. J'ai supposé que la connexion à la base avait été faites avec la variable $bdd :
function nombre_membre() { $query = $bdd->query("SELECT COUNT(id) FROM utilisateurs"); return $query->rowCount(); }-
-
Celui-ci est bon ?
<?php // Connexion à la base de données try { $bd = new PDO('mysql:host=localhost;dbname=net', 'root', ''); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } $selinsc = $bd->query('SELECT COUNT (*) AS nbi FROM membres '); $nbins=$selinsc->fetch(); echo"LES INSCRITS: ".$nbins['nbi']; ?>
J'ai pourtant une erreur : Parse error: syntax error, unexpected '<', expecting '{' in C:\wamp\www\rs\functions\membre.func.php on line 49 -
-
-
-
-
Erreur : Parse error: syntax error, unexpected end of file in C:\wamp\www\rs\functions\membre.func.php on line 49
<?php //*********************************************// //Fichier : membre.func.php //*********************************************// ini_set("display_errors", "1"); error_reporting(E_ALL); //------------------------------------------- // Include du fichier de connexion à la BDD //------------------------------------------- $DIR_SITE = $_SERVER['DOCUMENT_ROOT'] . "/rs"; // chemin racine de ton site $CnxBDD = $DIR_SITE . "/functions/connect.php"; // emplacement du fichier depuis la racine de ton site if(file_exists($CnxBDD)){ require_once($CnxBDD) ; }else{ echo "<br><b>ERREUR !</b> Fichier $CnxBDD Introuvable"; } /** * function qui va recuperer les infos de l'utilisateur connecté */ function infos_membre_connecte(){ global $bdd; // déclaration globale de BDD $infos=array(); $pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:''; $sql = "SELECT * FROM utilisateurs WHERE pseudo = :pseudo"; $params = array(":pseudo"=>$pseudo); //le temps des tests: $infos['sql'] = $sql; $infos['params'] = $params; //exécution de la requête try{ $prepare = $bdd->prepare($sql); $prepare->execute($params); // on stocke le résultat de la requête dans un ARRAY $result = $prepare->fetchall(); $infos['result'] = (count($result)>0) ? $result[0] : NULL; }catch(Exception $e){ die('Erreur : '.$e->getMessage()); } //la function qui va compter le nombre de personnes inscrites function nombre_membre() { $req = $bdd->query("SELECT id FROM utilisateurs")or die(print_r($bdd->errorInfo())); return $req->rowCount(); } ?>
P.S. : je pense qu'il manque une accolade fermante pour ma function infos_membre_connecte() non?-
-
-
-
J'ai reglé le problème un peu, je n'en ai que 2 maintenant :
Notice: Undefined variable: bdd in C:\wamp\www\rs\functions\membre.func.php on line 51
Fatal error: Call to a member function query() on a non-object in C:\wamp\www\rs\functions\membre.func.php on line 51
<?php //*********************************************// //Fichier : membre.func.php //*********************************************// ini_set("display_errors", "1"); error_reporting(E_ALL); //------------------------------------------- // Include du fichier de connexion à la BDD //------------------------------------------- $DIR_SITE = $_SERVER['DOCUMENT_ROOT'] . "/rs"; // chemin racine de ton site $CnxBDD = $DIR_SITE . "/functions/connect.php"; // emplacement du fichier depuis la racine de ton site if(file_exists($CnxBDD)){ require_once($CnxBDD) ; }else{ echo "<br><b>ERREUR !</b> Fichier $CnxBDD Introuvable"; } /** * function qui va recuperer les infos de l'utilisateur connecté */ function infos_membre_connecte() { global $bdd; // déclaration globale de BDD $infos=array(); $pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:''; $sql = "SELECT * FROM utilisateurs WHERE pseudo = :pseudo"; $params = array(":pseudo"=>$pseudo); //le temps des tests: $infos['sql'] = $sql; $infos['params'] = $params; //exécution de la requête try { $prepare = $bdd->prepare($sql); $prepare->execute($params); // on stocke le résultat de la requête dans un ARRAY $result = $prepare->fetchall(); $infos['result'] = (count($result)>0) ? $result[0] : NULL; } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } } //la function qui va compter le nombre de personnes inscrites function nombre_membre() { $req = $bdd->query("SELECT id FROM utilisateurs")or die(print_r($bdd->errorInfo())); return $req->rowCount(); } ?> -
Sachant que mon membre.php est :
<div class='header'> <?php $result= infos_membre_connecte(); $infos = $result['result']; if(count($infos)>0){ $pseudo = isset($infos['pseudo'])?$infos['pseudo']:''; echo "Bienvenue ". $pseudo; }else{ echo "<br> Aucun résultat."; } if(!isset($_SESSION['pseudo'])) { header("Location:index.php?page=login"); } ?> <p><a href="index.php?page=logout">Se déconnecter</a></p> </div> <div class='menu'> <ul> <li><a href="index.php?page=membre">Accueil</a></li> <li><a href="">Changer vos informations</a></li> <li><a href="">les membres</a></li> <li><a href="">Vos amis</a></li> <li><a href="">Messages</a></li> <li class="nbr"><?php echo nombre_membre() > 1 ? nombre_membre()." membres" : nombre_membre(). " membre"; ?></li> </ul> </div>
-