Raaah p'tit joueur !
Bon le principe est simple : sprintf sert à formater une chaîne avec des paramètres.
D'un côté, c'est une méthode sûre, notamment pour le cas des requêtes.
D'un autre, elle permet une bonne lisibilité du code et notamment du contenu de la requête, même si personnellement je ne l'utilise pas.
Ce qu'il faut comprendre, c'est que %s, ça n'a rien à voir avec du SQL.
"SELECT * FROM users WHERE user=%s AND password=%s" ~> Ceci n'est qu'une chaîne de caractères quelconque. Ce n'est pas à proprement dit une requête. Tu peux donc faire ce que tu veux.Bon le principe est simple : sprintf sert à formater une chaîne avec des paramètres.
D'un côté, c'est une méthode sûre, notamment pour le cas des requêtes.
D'un autre, elle permet une bonne lisibilité du code et notamment du contenu de la requête, même si personnellement je ne l'utilise pas.
Ce qu'il faut comprendre, c'est que %s, ça n'a rien à voir avec du SQL.
Code PHP :
<?php
sprintf("SELECT * FROM users WHERE user=%s AND password=%s",
quote_smart($_POST['username']),
quote_smart($_POST['password']));
Les symboles %s, %b, %c [..] ne sont que les formats des paramètres qui doivent être à la place de ces symboles. Dans notre cas, il s'agit de deux chaînes ( s pour string ) Ces paramètres sont les paramètres qui suivent la chaine de caractères, ici : quote_smart($_POST['username']), quote_smart($_POST['password'])
Tous deux sont bel et bien des chaînes de caractères. Tu peux mettre autant de paramètres que tu veux, il faut qu'il y ait autant de symboles que de paramètres.
Après, l'ordre de remplacement va de soit. Le premier symbole est remplacé par le premier paramètre, le deuxième symbole est remplacé par le deuxième paramètre et ainsi de suite.
@ tchaOo°