加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql_real_escape_string和addslashes的差异

发布时间:2022-06-15 14:16:02 所属栏目:MySql教程 来源:互联网
导读:本文章详细的以实例和php手册详细的介绍了关于mysql_real_escape_string和addslashes的区别. Example #1 mysql_real_escape_string() 例子,代码如下: ?php $item = Zaks and Dericks Laptop; $escaped_item = mysql_real_escape_string($item); printf (Esca
  本文章详细的以实例和php手册详细的介绍了关于mysql_real_escape_string和addslashes的区别.
 
  
  Example #1 mysql_real_escape_string() 例子,代码如下:
 
  <?php
  $item = "Zak’s and Derick’s Laptop";
  $escaped_item = mysql_real_escape_string($item);
  printf ("Escaped string: %sn", $escaped_item);
  ?>  
   
  //以上例子将产生如下输出:
  //phpfensi.com
  Escaped string: Zak’s and Derick’s Laptop
  参见:mysql_escape_string() 和 mysql_character_set_name().
 
  网站分享的关于 addslashes与mysql_real_escape_string的区别.代码如下:
 
  if (!get_magic_quotes_gpc()) {  
  $lastname = addslashes($_POST[‘lastname’]);  
  } else {  
  $lastname = $_POST[‘lastname’];  
  
  mysql_real_escape_string转义的字符并没有被提到.只是说了一句.
 
  注意:mysql_real_escape_string() 并不转义% 和_。
 
  为什么PHP手册没有说呢?因为其实这是个MySql的C的API.所以我们需要查下MySql手册..上面是这么说的.
 
  编码的字符为NUL (ASCII 0)、'n'、'r'、''、'''、'"'、以及Control-Z(请参见9.1节,“文字值”)。(严格地讲,MySQL仅需要反斜杠和引号字符,用于引用转义查询中的字符串。该函数能引用其他字符,从而使得它们在日志文件中具有更好的可读性)。
 
  总结:
 
  * addslashes() 是强行加;
 
  * mysql_real_escape_string()  会判断字符集,但是对PHP版本有要求;
 
  * mysql_escape_string不考虑连接的当前字符集。
 
 

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读