php数据函数,PHP几个数据处理函数

最近在对前端表单输入数据进行处理中,遇到几个PHP字符串处理函数,真心搞不懂作用是什么,API说的太过于模糊,看不太懂,求大神帮忙解答一下区别和作用:

htmlspecialchars

addslashes

stripslashes

strip_tags

nl2br

mysql_real_escape_string

我就是想将textarea里的数据insert into进mysql数据库,用户可能输入html等乱七八糟的字符串,插入mysql,我应该怎么处理?

回复内容:

最近在对前端表单输入数据进行处理中,遇到几个PHP字符串处理函数,真心搞不懂作用是什么,API说的太过于模糊,看不太懂,求大神帮忙解答一下区别和作用:

htmlspecialchars

addslashes

stripslashes

strip_tags

nl2br

mysql_real_escape_string

我就是想将textarea里的数据insert into进mysql数据库,用户可能输入html等乱七八糟的字符串,插入mysql,我应该怎么处理?

标准写法(请忘掉那一堆乱七八糟的函数):

//检查防止SQL注入的函数

function MySQLCheck(&$value)

{

//去除斜杠(服务器配置给予的转义斜杠)

if (get_magic_quotes_gpc())

{

$value = stripslashes($value);

}

//如果不是数字则加引号(专业的转义函数)

if (!is_numeric($value))

{

$value = "'" . mysql_real_escape_string($value) . "'";

}

return $value;

//示例用法:

//$user = SQLCheck($_POST['user']);

//$pwd = SQLCheck($_POST['pwd']);

//$sql = "SELECT * FROM users WHERE user = $user AND password = $pwd";

}

函数来源(开源库):https://github.com/MoonLord-LM/MyPHP

另外,新版PHP已经废弃mysql扩展,推荐用mysqli扩展了,代码如下:

//检查防止SQL注入的函数

function MySQLCheck(&$value)

{

global $Connect;

//去除斜杠(服务器配置给予的转义斜杠)

if (get_magic_quotes_gpc())

{

$value = stripslashes($value);

}

//如果不是数字则加引号(专业的转义函数)

if (!is_numeric($value))

{

$value = "'" . mysqli_real_escape_string($Connect,$value) . "'";

}

return $value;

//示例用法:

//$user = SQLCheck($_POST['user']);

//$pwd = SQLCheck($_POST['pwd']);

//$sql = "SELECT * FROM users WHERE user = $user AND password = $pwd";

}

上面的$Connect是数据库连接。

注意,这两个函数都是要在连接了MySQL数据库之后才能执行,否则会有报错。

另外,前端如果要展示,那么也要对script等等标签进行处理,可以用PHP的str_replace函数进行替换,还有等等。

相关标签:php

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值