Function afficher_ibi en pdo

Résolu
Zakarya93 Messages postés 1026 Statut Membre -  
Zakarya93 Messages postés 1026 Statut Membre -
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

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Non
    la requête n'est pas la même
    0
    1. Zakarya93 Messages postés 1026 Statut Membre 10
       
      J'ai pas d'idée comment modifier la requête :/
      0
      1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832 > Zakarya93 Messages postés 1026 Statut Membre
         
        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é.
        0
    2. Zakarya93 Messages postés 1026 Statut Membre 10
       
      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;
      }
      0
      1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832 > Zakarya93 Messages postés 1026 Statut Membre
         
        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 .
        0
    3. Zakarya93 Messages postés 1026 Statut Membre 10
       
      Ah je vois merci :)
      0
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    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;
    }
    

    0