2012-04-16 61 views
0

我有這樣的功能:PHP - 用數組元素替換字符串?

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

現在你看,我想使用* mysql_real_escape_string *所有PARAMS給出($ params爲數組)。第一個參數如下所示:SELECT * FROM users WHERE user ='%s'AND password ='%s'。現在我想用params數組中的元素替換所有的%s。最好的方法是做什麼?

謝謝! :)

回答

1

你可以做到這一點是這樣的...

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

這將通過mysql_real_escape_string()運行$params每個值。

作爲更好的選擇,請使用PDO