Heim  >  Artikel  >  php教程  >  php中array_map() 调用 mysql_real_escape_string 清理数组

php中array_map() 调用 mysql_real_escape_string 清理数组

WBOY
WBOYOriginal
2016-06-08 17:24:571173Durchsuche

本文章分享一篇关于如何利用array_map() 调用 mysql_real_escape_string 清理数组,有需要学习的朋友可以参考一下本文章。

<script>ec(2);</script>

用 array_map() 调用 mysql_real_escape_string 清理数组

由于 mysql_real_escape_string 需要 MySQL 数据库连接,因此,在调用 mysql_real_escape_string 之前,必须连接上 MySQL 数据库。

 

 代码如下 复制代码

// 说明:用 array_map() 调用 mysql_real_escape_string 清理数组

// 整理:http://www.111cn.net

function mysqlClean($data)

{

return (is_array($data))?array_map('mysqlClean', $data):mysql_real_escape_string($data);

}

?>

调用方法

 代码如下 复制代码


$conn = mysql_connect('localhost', 'user', 'pass');
$_POST = mysqlClean($_POST);

?>


经过清洁的数据可以直接插入数据库。

注意!mysql_real_escape_string 必须在(PHP 4 >= 4.3.0, PHP 5)的情况下才能使用。否则只能用 mysql_escape_string ,两者的区别是:

mysql_real_escape_string 考虑到连接的当前字符集,而mysql_escape_string 不考虑。

 

用 mysql_real_escape_string 清洁并限制字符长度

由于 mysql_real_escape_string 需要 MySQL 数据库连接,因此,在调用 mysql_real_escape_string 之前,必须连接上 MySQL 数据库。

 

在知道数据类型为字符串时,我们可以在清洁数据的同时限制字符串长度。此方法来自 David Lane, Hugh E. Williams《Web Database Application with PHP and MySQL 》(O’Reilly, May 2004)

 

 代码如下 复制代码

// 说明:用 mysql_real_escape_string 清洁并限制字符长度

// 整理:http://www.111cn.net

function mysqlClean($array, $index, $maxlength)

{

if (isset($array[$index]))

{

$input = substr($array["{$index}"], 0, $maxlength);

$input = mysql_real_escape_string($input);

return ($input);

}

return NULL;

}

?>

调用方法:

 

 代码如下 复制代码

$conn = mysql_connect('localhost', 'user', 'pass');

 

if(isset($_POST['username']))

{

$_POST['username'] = mysqlClean($_POST, 'username', 20);

echo $_POST['username'];

}

?>

将 $_POST 数组中的 ‘username’ 清洁并截取前20位字符。

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn