易截截图软件、单文件、免安装、纯绿色、仅160KB

php中的addslashes函数

昨天在看我的google快讯时看到了php中的这个函数,发现我好像对这个函数不是特别的了解吗
查看了手册,发现了这个函数主要是转义了数据库中的特殊字符,比如 ' 单引号 " 双引号等在数据库中的特殊的字符
当然了这个addslashes使用是要先检查magic_quotes_gpc这个的系统配置了,如果配置了就必须不能在使用了,如果两次转就不对了,所以一般代码是这样写的
if (!
get_magic_quotes_gpc
()) {
    
$lastname 

addslashes
(
$_POST
[
'lastname'
]);
} else {
    
$lastname 

$_POST
[
'lastname'
];
}
可我突然想这些转义符好像在mssql数据库里不是这样的啊,像双引号是根本不用转的,单引号也是变成了两个个单引号啊,看到网站下面确实是这样啊,不需要的而且是多此一举的,而且这个默认有是开着的,如果我要操作mssql数据库不是很麻烦吗
是有个函数可以转化回来的 striplashes 可以去掉转义符号的
看来php是专门为mysql数据库设计的啊
在看striplashes 看到了这样一个例子
<?php
$str 

"Is your name O\'reilly?"
;
// Outputs: Is your name O'reilly?
echo 
stripslashes
(
$str
);
?>
感觉有点奇怪啊,反斜杠加单引号很奇怪啊,因为单引号不是不需要反斜杠的吗,一个反斜杠怎么会可以的啊,因为我以前使用的是c#的如果反斜杠不能转义时就会出错的,这里我试了好几次我使用了 $str 

"Is your name O\\'reilly?"

这样的语句试一下竟然是一样的我还试了
$str 

"Is your name O\a'reilly?"
;
这样的也是能够正常输出反斜杠的,想了下感觉是如果不能转义是反斜杠就是反斜杠啊,这样的定义正是有点别扭啊


相关文档:

防范php木马

1、防止跳出web目录 (严重采用)
  首先修改httpd.conf,如果你只允许你的php脚本程序在web目录里操作,还可以修改httpd.conf文件限制php的操作路径。比如你的web目录是/usr/local/apache/htdocs,那么在httpd.conf里加上这么几行:
  php_admin_value open_basedir /usr/local/apache/htdocs
  这样,如果脚本要 ......

PHP显示出错提示的三种方法

PHP在页面上显示出错消息并让用户看见是开发人员怎么样也不愿意面对的,但是谁都不想在一台没有配置成显示出错消息的服务器上用PHP开发代码。开发时显示PHP的错误消息对开发人员来说是个明智的选择,所谓工具是使人方便的,就是如此。
  下面来说说显示PHP错误提示消息的三个方法。
  一:php.ini配置
  php.ini配 ......

好用的php过滤特殊字符

function htmldecode($str)
{
if(empty($str)) return;
if($str=="") return $str;
$str=str_replace("&",chr(34),$str);
$str=str_replace(">",">",$str);
$str=str_replace("<","<",$str);
$str=str_replace("&","&",$str);
$str=str_replace(" ",chr(32),$str);
$str=str_replace(" ", ......

PHP连接SQL Server

使用过SQL Server的人应该都清楚,SQL Server常用的有两种认证方式,一种是本地系统账户认证(Windows Authentication ),一种是使用用户名和密码(SQL Server Authentication ),第二种认证方式必须启用SQL Server的混合模式。
  1.Windows Authentication连接部分代码段:
<?php
$serverName = "(local)";
$co ......

php 正则表达式总结

例:
要求匹配标题
 <div class="detail-hd">
 <h3>
     五皇冠 2010春装新品时尚T恤 长袖 女装长款T恤 热卖韩版长T 特价
   </h3>
$reg="|<div class=\"detail-hd\">[\n\r\t]*<h3>[\n\r\t]*(.*)[\n\r\t]*</h3>|";
pre ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号