2012-04-16 2 views
0

J'ai cette fonction:PHP - remplace une chaîne par des éléments d'un tableau?

protected function runQuery($encodedQuery, $params) { 
    $query = sprintf($encodedQuery, mysql_real_escape_string($user), mysql_real_escape_string($password)); 
    return mysql_query($query); 
} 

Maintenant que vous voyez que je veux utiliser * mysql_real_escape_string * sur tous les params donné ($ params est un tableau). Le premier paramètre ressemble à ceci: SELECT * FROM utilisateurs WHERE utilisateur = '% s' ET mot de passe = '% s'. Maintenant, je veux remplacer tous les% s avec les éléments du tableau params. Quel est un bon moyen de le faire?

Merci! :)

Répondre

1

Vous pouvez le faire comme cela ...

protected function runQuery($encodedQuery, $params) { 
    $query = vsprintf($encodedQuery, 
         array_map('mysql_real_escape_string', $params)); 
    return mysql_query($query); 
} 

Cela se déroulera chaque valeur $params par mysql_real_escape_string(). Pour une meilleure alternative, utilisez PDO.

Questions connexes