De toute facon, jvais updater un peu plus tard, car je fais un echappement de caractères sur n'importe quel type de variable. J'ai oublié de mettre :
if ( is_string($var) ) mysql_real_escape_string($var);
Sinon, je fais un echappement sur un nombre... ce qui sert à rien du tout :o
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 26 déc. 2005 à 12:45
je suis pas sur que t'ai une perte de temps en déclarant ton tableau car : pour un nombre d'arguments élevé, tu as pas mal de str_replace qui vont prendre du temps comparé à une déclaration de variable plus un str_replace global...
mais faudrait faire des benchs pour voir à partir de combien d'arguments c'est rentable... (pour un ou deux effectivement, ça doit être de la perte de temps...)
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 26 déc. 2005 à 09:44
Là, elle est très bien la petite fonction :-)
Joliment tournée.
Je mets 9 aussi.
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 24 déc. 2005 à 22:38
C'est justement la l'utilité de la conversion des types :) Mais c'est vrai, j'aurais dû le préciser.
Par contre, je veux bien utiliser str_replace avec des tableaux, mais ca m'oblige à créer une variable de tableau pour pouvoir contenir chaque variable, donc une petite perte de temps.
Mais jvais essayer une autre solution, je crois me souvenir que func_get_args() renvoit un tableau... jvais voir.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 24 déc. 2005 à 19:38
salut
jolie fonction, mais tu pourrais utiliser le fait que str_replace peut être utilisé avec des tableaux, tu pourrais gagner quelques milisecondes de temps de calcul...
Bon, je mets 9 à ta jolie fonction ! Pour une fonction de débutant, t'as pas tennu compte du fait que $i était un int, et tu fais un str_replace avec, donc c'est pas parfait, mais t'as une fonction à nombre d'arguments variables, donc, c'est pas mal !
26 déc. 2005 à 13:02
if ( $num_args > 1 ) {
$tab = array();
for ( $i=1; $i < $num_args; $i++ ) {
$tab[$i] = func_get_arg($i);
$tab[$i] = mysql_real_escape_string(tab[$i]);
}
$sql = str_replace('{'.$array_keys($tab).'}', $array_values($tab), $sql);
}
Pourquoi pas.
De toute facon, jvais updater un peu plus tard, car je fais un echappement de caractères sur n'importe quel type de variable. J'ai oublié de mettre :
if ( is_string($var) ) mysql_real_escape_string($var);
Sinon, je fais un echappement sur un nombre... ce qui sert à rien du tout :o
26 déc. 2005 à 12:45
mais faudrait faire des benchs pour voir à partir de combien d'arguments c'est rentable... (pour un ou deux effectivement, ça doit être de la perte de temps...)
26 déc. 2005 à 09:44
Joliment tournée.
Je mets 9 aussi.
24 déc. 2005 à 22:38
Par contre, je veux bien utiliser str_replace avec des tableaux, mais ca m'oblige à créer une variable de tableau pour pouvoir contenir chaque variable, donc une petite perte de temps.
Mais jvais essayer une autre solution, je crois me souvenir que func_get_args() renvoit un tableau... jvais voir.
24 déc. 2005 à 19:38
jolie fonction, mais tu pourrais utiliser le fait que str_replace peut être utilisé avec des tableaux, tu pourrais gagner quelques milisecondes de temps de calcul...
Bon, je mets 9 à ta jolie fonction ! Pour une fonction de débutant, t'as pas tennu compte du fait que $i était un int, et tu fais un str_replace avec, donc c'est pas parfait, mais t'as une fonction à nombre d'arguments variables, donc, c'est pas mal !