0

私はこの機能を持っています:

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は配列です)。最初のパラメーターは次のようになります。SELECT*FROMusers WHERE user ='%s' AND password ='%s'。ここで、すべての%sをparams配列の要素に置き換えたいと思います。それを行うための良い方法は何ですか?

ありがとう!:)

4

1 に答える 1

1

あなたはそうすることができます...

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

これにより、各値が$paramsから実行されますmysql_real_escape_string()

より良い代替手段として、PDOを使用してください。

于 2012-04-16T12:38:41.013 に答える