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?"
;
这样的也是能够正常输出反斜杠的,想了下感觉是如果不能转义是反斜杠就是反斜杠啊,这样的定义正是有点别扭啊
相关文档:
extract() //将数组中的键名作为变量名,键值作为变量值
例:
form.html
<form action="action.php" method="post">
<input type="text" name="username">
<input type="password" name="password">
<input type="submit&quo ......
<?PHP
//====================================================
// FileName: snap.class.php
//   ......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link rel="stylesheet" type="text/css" media="all" href="css/style.css" />
<meta http-equiv="Content-Type" content="text/html; ......
注:这是从PHPCMS开发文档里看到编码规范,虽名为PHPCMS的开发规范,但我觉得所有的PHP编程都该如此。写了那么多PHP,很多编码对照这规范都感觉欠缺很多,今后一定要对照纠正。
Phpcms 编码规范
1. 引言…. 2
2. 适用范围…. 2
3. 标准化的重要性和好处…. 3
4. PHP编码规范与原则…. 3
4. ......
1、到微软官方去下载新的驱动,下载地址如下:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=ccdf728b-1ea0-48a8-a84a-5052214caad9
官方文档有描述:
Refer to the documentation that is installed with the driver for a description of the new features in this ......