PHP-Snippet - URL Parameter escapen

Sonntag, 23. Juni, 2019

Dieser Blogeintrag ist eine Snippet-Ablage.

Die PHP-Funktion mysql_real_escape() maskierte Sonderzeichen in Werten, bevor man sie für Datenbankabfragen verwenden sollte. Die Funktion arbeitet nur dann, wenn Mysql vorab initialisiert wurde.

/**
* mysql_real_escape for an array of options
* @param array $aParams
* @return array
 */
function escapeAllParams($aParams) {
    foreach (array_keys($aParams) as $sKey) {
        $aParams[$sKey] = escapeParam($aParams[$sKey]);
    }
    return $aParams;
}

/**
* replacement for mysql_real_escape.
* @param string $s
* @return string
*/
function escapeParam($s) {
    $s = str_replace(array('\\', "\0", "\n", "\r", "'", '"', "\x1a"), array('\\\\', '\\0', '\\n', '\\r', "\\'", '\\"', '\\Z'), $s);
    return $s;
}