REQUETE MySQL

Résolu
Bonjour Jordane,

Suite au dernier message, je te refait donc une question sur ma rapport Requete SQL.
Comme tu m'as mis sur la voie, j'ai inversé ma sélection en remplaçant :

$[/sql/sqlintro.php3 sql] .= !empty($condition)? ' WHERE . $condition :"";


par :

$sql .= !empty($condition)? ' WHERE NOT (' . $condition .')':"";


Il reste que je n'ai toujours pas bien compris pourquoi tu fais appel à la variable $datas, et comment elle marche.

Peux tu expliquer stp?

Merci d'avance.

JC

$datas = array();
foreach($VR as $VRn => $VRn_value){
	if($VRn_value !== ""){
	  $concat = $concat. 'AND '.$VRn. ' = :' .$VRn.' ';  
	  $datas[":" .$VRn] = $VRn_value;	
	};
};
$condition = ltrim($concat,"AND");
    

//--------------------------------------------------------------------------//
//  REQUETE                                       
//--------------------------------------------------------------------------//


$sql = 'SELECT id FROM cutting_tools_01 ';
$sql .= !empty($condition)? ' WHERE NOT (' . $condition .')':"";

try{             
	$requete = $connexion->prepare($sql); // A corriger en fonction du contenu de ton fichier cnxbdd.php  
	$requete->execute($datas);                                                                    
	$resultat = $requete->fetchAll(PDO::FETCH_ASSOC);            
}catch(PDOException $e){
	echo 'ECHEC  : ' .$e->getMessage();
}


Configuration: Windows / Opera Next 67.0.3575.137

1 réponse

  1. Modérateur
    Le data sert a passer les variables à la requête.
    Interesse toi aux requêtes préparées en pdo pour mieux comprendre.
    1
    1. Merci, J'irai voir.
      0
    2. Modérateur
      @JC_8280C'est dans l'exemple que je t'avais donné ( le lien pour gérer les erreurs pdo )
      //préparation de la requête et des variables
       $sql = "INSERT INTO matable (champ1,champ2)   VALUES (:valeur1,:autrevaleur)";
      
       $datas = array(':valeur1'=>$valeur1, ':autrevaleur'=>$toto); // les variables à utiliser pour ta requête
      
      //Execution de la requete
      try{
        $requete = $bdd -> prepare($sql) ;
        $requete->execute($datas) ;
      }catch(Exception $e){
        // en cas d'erreur :
         echo " Erreur ! ".$e->getMessage();
         echo " Les datas : " ;
        print_r($datas);
      }
      
      0