服务器端如何用mysql_real_escape_string清洁客户端数据

网友投稿 448 2023-12-01

服务器端如何用mysql_real_escape_string清洁客户端数据

本篇内容主要讲解“服务器端如何用mysql_real_escape_string清洁客户端数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“服务器端如何用mysql_real_escape_string清洁客户端数据”吧!

服务器端如何用mysql_real_escape_string清洁客户端数据

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

PHP:

function mysqlClean($data)

{

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

}

?>

调用方法

PHP:

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

...

$_POST = mysqlClean($_POST);

?>

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

注意!_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 数据库连接,因此,在调用 mysql_real_escape_string 之前,必须连接上 MySQL 数据库。

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

PHP:

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;

}

?>

调用方法:

PHP: 

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

if(isset($_POST[username]))

{

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

echo $_POST[username];

}

?>

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

到此,相信大家对“服务器端如何用mysql_real_escape_string清洁客户端数据”有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:安装编译mysql时出现错误怎么解决
下一篇:select查询语句该如何执行
相关文章

 发表评论

暂时没有评论,来抢沙发吧~