[SGBD] Utilisation de mysql_real_escape_string()
Je cherche a savoir comment utiliser cette fonction, j'ai cru comprendre qu'il n'y avais pas mieux.
Avant, quand je voulais enregistrer une requete dans ma BDD, je faisais un addslashes() sur la variables avant de l'inserer dans la requete. Ce qui fait que dans la BDD il y avait des \ devant les ' ".
J'ai vus dans la doc php une facon d'utilisais cette fonction :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| $quete_date = 'NOW()';
$quete_jeux = 'aaaaa';
$quete_ville = 'bbb bbb';
$quete_nom = 'cccc';
$quete_text = "ddddddi l'apppa ddddd '' ddddd";
$sql = sprintf("INSERT INTO fo_quete (quete_date ,quete_jeux, quete_ville, quete_nom, quete_text) VALUES(NOW(), '%s', '%s', '%s', '%s' )",
mysql_real_escape_string($quete_jeux),
mysql_real_escape_string($quete_ville),
mysql_real_escape_string($quete_nom),
mysql_real_escape_string($quete_text));
$res = mysql_query($sql); |
Est elle mieux que
Code:
1 2 3 4 5 6 7 8
| $sql='INSERT INTO fo_quete (quete_date,quete_jeux,quete_ville,quete_nom,quete_text)
VALUES(
"' . mysql_real_escape_string($quete_date) .'",
"' . mysql_real_escape_string($quete_jeux) .'",
"' . mysql_real_escape_string($quete_ville) .'",
"' . mysql_real_escape_string($quete_nom) .'",
"' . mysql_real_escape_string($quete_text) .'" )';
$res = mysql_query($sql); |
J'ai remarquer que cette fonctionne ajouter des \ au variables, mais seulement à l'envoie, mysql apparament supprimer les \ dans la BDD.
J'en fait une utilisation correcte niveau sécurité ?