REQUETE MySQL

Résolu/Fermé
JC_8280 Messages postés 78 Date d'inscription jeudi 19 mars 2020 Statut Membre Dernière intervention 7 février 2021 - 16 avril 2020 à 23:26
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 17 avril 2020 à 09:08
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

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
17 avril 2020 à 00:52
Le data sert a passer les variables à la requête.
Interesse toi aux requêtes préparées en pdo pour mieux comprendre.
1
JC_8280 Messages postés 78 Date d'inscription jeudi 19 mars 2020 Statut Membre Dernière intervention 7 février 2021
17 avril 2020 à 08:47
Merci, J'irai voir.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > JC_8280 Messages postés 78 Date d'inscription jeudi 19 mars 2020 Statut Membre Dernière intervention 7 février 2021
17 avril 2020 à 09:08
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