UYOU
function ms_escape_string($data) {
if ( !isset($data) or empty($data) ) return '';
if ( is_numeric($data) ) return $data;
$non_displayables = array(
'/%0[0-8bcef]/', // url encoded 00-08, 11, 12, 14, 15
'/%1[0-9a-f]/', // url encoded 16-31
'/[\x00-\x08]/', // 00-08
'/\x0b/', // 11
'/\x0c/', // 12
'/[\x0e-\x1f]/' // 14-31
);
foreach ( $non_displayables as $regex )
$data = preg_replace( $regex, '', $data );
$data = str_replace("'", "''", $data );
return $data;
}这里的一些代码是从CodeIgniter中删除的。工作良好,是一个干净的解决方案。编辑:上面的代码片段有很多问题。请不要在没有阅读评论的情况下使用它来了解这些评论是什么。更好的是,请不要使用这个。参数化查询是您的朋友:http:/php.net/手册/en/pdo.pread-statements.php