AFAIK, neexistuje žádný nativní způsob, jak uniknout pro regex MySQL. Můžete to udělat v PHP pomocí preg_quote (http://www.php.net/manual/en/function.preg-quote.php), který by to pravděpodobně udělal za vás, ale zjevně není pro tento účel navržen.
Můj preferovaný způsob, kdybych byl ve vaší situaci, by bylo vytvořit seznam povolených regulárních výrazů v PHP, který pak můžete použít na svůj nebezpečný řetězec:
$safeString = preg_replace('/[^\w]/','',$dangerousString);
Tím se z vašeho řetězce odstraní všechny neslovní znaky (tj. cokoli kromě A-Za-z0-9_).
Poznámka:Věřím, že ostatní uvedené odpovědi neodstraní/neuniknou speciální znaky regulárního výrazu, což je podle mého názoru váš požadavek.