Forum CMS Made Simple FR
Faire des requêtes SQL via une UDT , passage de plusieurs paramètres - Version imprimable

+- Forum CMS Made Simple FR (https://www.cmsmadesimple.fr/forum)
+-- Forum : Général (https://www.cmsmadesimple.fr/forum/forum-3.html)
+--- Forum : Général (https://www.cmsmadesimple.fr/forum/forum-10.html)
+--- Sujet : Faire des requêtes SQL via une UDT , passage de plusieurs paramètres (/thread-3911.html)



Faire des requêtes SQL via une UDT , passage de plusieurs paramètres - pixetmots - 05/10/2016

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.12.x
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour,

J'utilise dans mon site les informations contenus dans le tuto "Faire des requêtes SQL via une UDT" sur le wiki (désolé je n'ai pas l'autorisation de mettre des URL...) , et doit modifier mon UDT pour passer plusieurs paramètres

Cependant , je ne comprends pas l'utilisation du ? pour le passage du paramètre.
Aussi, comment passer plusieurs paramètres ?

Merci


Faire des requêtes SQL via une UDT , passage de plusieurs paramètres - jissey - 05/10/2016

Bonsoir,
tu as un exemple de code?


Faire des requêtes SQL via une UDT , passage de plusieurs paramètres - exacore - 06/10/2016

pixetmots a écrit :Cependant , je ne comprends pas l'utilisation du ? pour le passage du paramètre.
Aussi, comment passer plusieurs paramètres ?

Si il s'agit d'un passage de paramètres à partir d'une URL, alors cela se transmet de cette façon :
Code :
http://www.domain.tld/page?param1=plop&param2=29&param3=toto



Faire des requêtes SQL via une UDT , passage de plusieurs paramètres - pixetmots - 07/10/2016

Voici le code extrait du wiki que j'utilise :

*** debut de citation du wiki ****

Et avec un paramètre ?
On a vu dans les autres tuto que l'on pouvait appeler les UDT avec des paramètres.

Exemple {mon_udt prenom="Jean"} qui est récupérable dans mon udt sous la forme

$prenom = params['prenom'];
On peut donc utiliser ce paramètre pour améliorer les requêtes de notre exercice.


changer ces quelques lignes :

// on crée la requête SQL, en s'assurant de se libérer du préfixe cms_ qui peut différer d'une installation à une autre
$sql = 'SELECT nom,prenom,email FROM `'.cms_db_prefix().'module_monmodule_user` WHERE prenom = ? ORDER BY `nom`';

//Liste des paramètres (array)
$parametreSql = array();
$parametreSql[] = $params['prenom'];


//exécution de la requête et on test le code retour
$dbretour = $db->Execute($sql, $parametreSql);

Notez l'utilisation d'un point d'interrogation, c'est plus sécurisé que de faire Where prenom = '.$param["prenom"].'

*** Fin de citation du wiki ***

Ma question est donc comment utiliser 2 paramètres différents dans l'écriture de la requête $sql=...

Merci


Faire des requêtes SQL via une UDT , passage de plusieurs paramètres - airelibre - 10/10/2016

Bonsoir,

Exemple :

Code :
$query = 'SELECT nom, prenom FROM ' . cms_db_prefix() . 'module_monmodule_user WHERE prenom=? AND nom=?';
$result = cmsms()->GetDb()->GetArray($query, array($params['prenom'], $params['nom']) );