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项目的时候,经常会遇到中文乱码的问题,有时候编码问题还导致MYSQL的报错。中文乱码总共有三个原因
1:APACHE服务器设置导致乱码
2:PHP,或者HTML页面编码导致中文乱码
3:MYSQL数据库的表以及字段编码导致中文乱码
我们分别从这三个部分来探究PHP程序设计中的编码问题
在这之前我们要了解一些基本理论 ......
<?php
function myFun(){
echo "hello,张三";
}
//利用function_exists方法判断自动以方法是否存在
//该方法参数为要判断的自定义方法的方法名,可写为
//"myFun"或myFun
if(function_exists(myFun)){
echo "存在 ......
<?php
//声明全局变量
$num = "张三";
//定义一个自定义方法
function my_fun($temp1,$temp2 = "people"){
//要数用方法外部声明的全局变量,必须使用关键字global先在
//自定义方法中获得到方法外部声明的全局变量的值,才能在方
......
apache安装,mysql安装,php5直接解压,均放在D:\www下。
目录结构为:
D:\www\apache2
D:\www\mysql
D:\www\php5
将php5\php.ini-dist复制为php.ini,把需要用到的组件将前面的;去掉。
如
extension=php_mysql.dll
extension=php_gd2.dll
在apache2的conf/httpd.conf文件中加
LoadFile D:/www/php5/php5ts.dll
......
1.apache的安装
apache本来是想用编译安装的,但是其devel需要依赖一些其他的包,安装起来太麻烦,所以决定使用本地yum源安装;在rhel5u3上,直接 yum install httpd
yum install httpd-devel
这样会有httpd-devel的一些依赖包一并安装了;
rpm安装的httpd有如下几个重要的目录:
1)/etc/ht ......