REQUETE MySQL

Résolu
JC_8280 Messages postés 78 Statut Membre -  
jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   -
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. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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. JC_8280 Messages postés 78 Statut Membre
       
      Merci, J'irai voir.
      0
      1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > JC_8280 Messages postés 78 Statut Membre
         
        C'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