Introduire une condition dans une instruction SQL

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Introduire une condition dans une instruction SQL

par phrq » 28 nov. 2007, 18:43

Pour les balises, oups! désolé, je serai plus attentif la prochaine fois (C'est mon 1er post) :?

Pour le nombre de variables, cela vient du fait que plusieurs variables sont regroupées sous une seule. L'alchimie est, certes, un peu complexe, mais c'est sous contrôle

L'idée de concaténer est effectivement séduisante. Ce sera plus simple.

Grand merci, donc

:)

par Ryle » 28 nov. 2007, 17:40

Modération :
phrq, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ


A noter par ailleurs, le nombre de variables dans ta requête (les %s, %d, etc.) ne correspond pas aux nombre de valeur que tu spécifies ensuite... pas logique tout ça, va falloir revoir la doc de sprintf() :)

Quant à la création d'une requête SQL, il s'agit après tout d'une simple chaine de caractère, tu peux dons aisément la construire en concatenant plusieurs chaines sous condition :
$sql = "SELECT .... ";
$sql.= " FROM .... ";
$sql.= " WHERE .... ";
if (...)
  $sql.= " AND .... ";
$sql.= " ORDER BY .... ";

Introduire une condition dans une instruction SQL

par phrq » 28 nov. 2007, 16:13

Bonjour

J'essaie d'insérer des valeurs dans une BD MySQL via une page php, avec le script ci dessous.
Le pb est que je voudrais que certains GetSQLValueString ne soient écrits que sous condition.

Par exemple, à la place de :

Code : Tout sélectionner

GetSQLValueString($_POST['titrelang2'], "text"),
je souhaiterais qq chose du type:
 if (isset($_POST['titrelang2'])) {GetSQLValueString($_POST['titrelang2'], "text") ;}
L'ennui, c'est que je ne parviens pas à réécrire le sript pour introduire cette condition. Comment faire?

Merci d'avance

Philippe
 $insertSQL = sprintf("INSERT INTO tlistedetail (".$sommetitres." archive, ".$sommecontenus."date) VALUES (%s ".$sommevaleurs.", %s)",
GetSQLValueString($_POST['titrelang1'], "text"),
GetSQLValueString($_POST['titrelang2'], "text"),
GetSQLValueString($_POST['titrelang3'], "text"),
GetSQLValueString($_POST['archive'], "text"),
GetSQLValueString($_POST['contenulang1'], "text"),
GetSQLValueString($_POST['contenulang2'], "text"),
GetSQLValueString($_POST['contenulang3'], "text"),
GetSQLValueString($_POST['date'], "text"));