Function afficher_ibi en pdo [Résolu/Fermé]

Signaler
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
10 juin 2017
-
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
10 juin 2017
-
Bonjour,

sachant que le code mysl_ est :
<?php 
//la function qui va nous permettre d'afficher l'info-bulle des invitations
function afficher_ibi(){
{
  $query = mysql_query(""
  SELECT COUNT(id_invitation) FROM amis WHERE pseudo_dest='{$_SESSION['pseudo']}' AND date_invitation = date_confirmation
"");  
  return mysql_result($query,0);
 
}
?>


c'est bon si je fais :
<?php
//la function qui va nous permettre d'afficher l'info-bulle des invitations
function afficher_ibi(){
global $bdd;

  //récupération des variables PROPREMENT !
  $date_invitation = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
  $pseudo_dest = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;

 $result=0;
 if($date_invitation && $pseudo_dest){
  $sql = "SELECT COUNT
         FROM amis
         WHERE (date_invitation = :date_confirmation AND pseudo_dest = :get_pseudo)";

  // je place les  params dans une variable avant de l'utiliser :
  $params = array('session_pseudo' => $date_confirmation , 'get_pseudo' => $pseudo_dest);
  
  $query = $bdd->prepare($sql);
  $query ->execute($params);  
  $requete = $query->fetchall();
 }
 // le return
 return $result;
}     


Merci d'avance :)

2 réponses

Messages postés
29185
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
10 août 2020
2 683
Non
la requête n'est pas la même
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
10 juin 2017
8
J'ai pas d'idée comment modifier la requête :/
Messages postés
29185
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
10 août 2020
2 683 >
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
10 juin 2017

Et bien..... tu remplaces la requête par celle qui est dans le code d'origine ... et dedans .. tu y remplaces les variables en t'inspirant des 450 messages que nous avons déjà échangé.
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
10 juin 2017
8
ah wtf je viens de voir l'erreur
c'est bon ? :
<?php
//la function qui va nous permettre d'afficher l'info-bulle des invitations
function afficher_ibi(){
global $bdd;

  //récupération des variables PROPREMENT !
  $date_invitation = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
  $pseudo_dest = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;

 $result=0;
 if($date_invitation && $pseudo_dest){
  $sql = "SELECT COUNT(id_invitation)
         FROM amis
         WHERE (date_invitation = :date_confirmation AND pseudo_dest = :get_pseudo)";

  // je place les  params dans une variable avant de l'utiliser :
  $params = array('session_pseudo' => $date_confirmation , 'get_pseudo' => $pseudo_dest);
  
  $query = $bdd->prepare($sql);
  $query ->execute($params);  
  $requete = $query->fetchall();
 }
 // le return
 return $result;
}
Messages postés
29185
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
10 août 2020
2 683 >
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
10 juin 2017

Non.
date_confirmation ( ou date_invitation) .. n'est pas une variable .. c'est un champ de la table...
Si tu regardes la requête d'origine ... la seule VARIABLE est :
{$_SESSION['pseudo']}


Pour rappel : une variable en PHP commence par le signe $

bref.. prend le code que je t'ai posté .. ça ira mieux .
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
10 juin 2017
8
Ah je vois merci :)
Messages postés
29185
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
10 août 2020
2 683
Ce qui doit donner un truc du genre
//la function qui va nous permettre d'afficher l'info-bulle des invitations
function afficher_ibi(){
 global $bdd;
 $result=array();
 //Variables
 $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;

 if($pseudo_session){
  $sql = "SELECT COUNT(id_invitation) as NB
	        FROM amis 
	        WHERE date_invitation = date_confirmation
		    AND pseudo_dest=:pseudo_session  ";

   // je place les  params dans une variable avant de l'utiliser :
  $params = array(':pseudo_session' => $pseudo_session);
  try{
    $query = $bdd->prepare($sql);
    $query ->execute($params);  
    $result = $query->fetchall();
   }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
   }
 } // Fin du  if($pseudo_session)
 // le return
 return $result;
}