Condition sur Requête SQL

Fermé
Boueep Messages postés 41 Date d'inscription mardi 13 janvier 2009 Statut Membre Dernière intervention 26 mai 2009 - 10 févr. 2009 à 10:52
 toto - 11 févr. 2009 à 16:07
Bonjour,

Je vous montre une des requêtes sur laquelle je travaille.

SELECT co.champ1, co.champ2, co.champ3, SUM( champ_1 ) nb_champ_1
FROM table_1 AS ac
RIGHT OUTER JOIN table_2 AS co ON co.champ2 = ac.champ_2
AND co.champ1 = ac.champ_1
AND ac.champ_3 = '00:00:00'
AND ac.champ_4 >= STR_TO_DATE('".addslashes($periode_debut)."', '%d/%m/%Y')
AND ac.champ_4 <= STR_TO_DATE('".addslashes($periode_fin)."', '%d/%m/%Y')
GROUP BY co.champ1, co.champ2
ORDER BY co.champ1, co.champ2


J'aimerai rajouter une condition de façon a faire en sorte que :

- Si ac.champ_2 commence par INC0 et que plusieurs entrées sont identiques dans ce champ, ne faire le SUM du champ_1 que pour l'entrée où ac.champ_4 est le plus "petit / ancien".

compliqué ? mal expliqué ?
n'hésitez pas à m'en parler ... moi même j'ai un peu de mal pour tout vous dire !

Merci d'avance pour votre aide !
Boueep

3 réponses

Salut,

Avant de chercher comment faire, je te recommande vivement d'aller corriger toutes les GROSSES failles de sécurité sur ton site, parce que soit tu aimes te faire hacker (on a le droit d'être sado masochiste !) soit tu crois avoir sécurisé ta requete mais c'est faux !
addslashes <== FAILLE DE SECURITE qui doit être partout sur ton site

Utilise mysql_real_escape_string() à la place mais bon, le m ieux etant de passer aux requete préparée sous PDO !
0
Salut,

En quoi est-ce plus dangereux d'utiliser addslashes que mysql_real_escape_string() ?

parce que là du coup je stresse un peu quand même...
0
toto > arnaudligth
11 févr. 2009 à 16:07
Bonjour

Parce que addslashes n'échappe pas tous les caractères (par exemple pas les fins de ligne) et n'empêche donc pas erreurs dans les requêtes si la donnée fournie est incorrecte. J'avoue que je ne suis pas capable de dire si ces erreurs provoquées peuvent aller jusqu'aux injections SQL, mais ça ne m'étonnerait pas.
On n'a pas inventé le mysql_real_escape_string() pour rien, je pense.
0
Boueep Messages postés 41 Date d'inscription mardi 13 janvier 2009 Statut Membre Dernière intervention 26 mai 2009 3
10 févr. 2009 à 11:22
je ne m'y connais pas asser pour faire ce dont tu parle.
ce n'est pas un site internet mais un intranet.
les personnes à y accéder ne sont pas du genre à hacker quoi que ce soit ....
je comprends ce que tu veux dire, mais je ne pense pas qu'il y ait un réel besoin de ce côté là.

a la différence de ma question qui elle, rend pas mal de choses impossible à défaut de trouver une réponse :)

disons que pour le coup, je vais très certainement jouer la carte du "masochisme" xD

par contre je le saurai si un jour je veux mettre un site en place !
merci
0
Boueep Messages postés 41 Date d'inscription mardi 13 janvier 2009 Statut Membre Dernière intervention 26 mai 2009 3
10 févr. 2009 à 17:47
c'est si compliqué que ça ? =(
0