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

PHP中stripslashes和addslashes的使用

向mysql写入数据时,如:mysql_query("update tableName set `title`='goaler's blog'");
  这个时候,PHP将会报错,ASP中处理时也一样。
  因为数据库对单引号过敏。
  ASP中需要进行replace("'","''",str);
  而PHP中则可以直接使用addslashes。
  ASP问题这里暂不考虑,本文要说的是PHP相关的stripslashes和addslashes。
  PHP考虑到其安全性,引入了magic_quotes_gpc = On/Off 这个参数,可以在不做任何处理的情况下就直接将含有单引号的数据插入数据库中。如果magic_quotes_gpc = Off,需要考虑单引号的问题了,不能一味地信任其运行环境。
  当magic_quotes_gpc = On时,使用addslashes()处理后的数据在数据库中将以\'形式保存,如果此时直接输出的话,就会发现比自己原先输入的内容多了个(反斜杠)\,这时就需要用到stripslashes()了,它能把addslashes()处理时自动加上去的(反斜杠)\去掉。这跟区别于str_replace("\", "",$str)不同。
  当magic_quotes_gpc = Off时,使用addslashes()处理后的数据在数据库中将以'形式保存,不存在上面说的有\的问题,addslashes()起到插入数据不出错的作用,如果此时直接输出的话,数据正常。不需要再用stripslashes()。
  addslashes()和stripslashes()正好是相反的,addslashes()加个(反斜杠)\,stripslashes()去个(反斜杠)\。
  当magic_quotes_gpc = On时,系统会自动处理单引号等问题,用不用addslashes()和stripslashes()都没关系,但是如果添加数据时用了addslashes(),那么显示数据时必须要stripslashes()
  当magic_quotes_gpc = Off时,系统不会处理单引号等问题,所以插入数据时必须要使用addslashes(),显示数据时则不需要使用stripslashes()。
  既然有了分析,做程序时要怎么办呢?根据以上两种情况,可得:
  不管magic_quotes_gpc是On还是Off,咱添加数据时都用addslashes(),当On时,必须使用stripslashes(),Off时则不能用stripslashes()。
  如何判断On还是Off呢?用get_magic_quotes_gpc()。


相关文档:

PHP配置SQL Server 2008

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 ......

php 替换非法字符 保存到数据库


function _processBeforeDb($str)
{
$str = str_replace ( array ('<', '>' ), array ('&lt;' , '&gt;' ), $str );
if (!get_magic_quotes_runtime()){
return addslashes($str);
}
else
{
return $str;
}
}
......

开始学习PHP开发以及网络工程

1.定位,明确方向。
2.定位后就去尝试。不要再谈能不能做。
以上是好友给我的建议,很中肯。
第一点,我需要确定自己今后发展的方向,不能再像现在这样什么都去学,结果什么都一无所成。
第二点,制定计划后就应该马上着手去执行,遇到挫折时不要急着说,我熬夜了多久多久,还是没学会啊,而是静心分析,然后对症下药, ......

PHP缓存技术:memcache函数详解之二

memcache::debug
bool memcache_debug ( bool $on_off )
说明:
控制调试功能,前提是php在编译的时候使用了-enable-debug选项,否则这个函数不会有作用。
参数:
$on_off:true表示开启调试,false表示关闭调试
返回值:
如果php在编译的时候使用了-enable-debug选项,返回true,否则返回false
Memcache::decremen ......

跨年问题终于解决(php不显示某些图片)

年前帮sw666迁移网站到我们服务器,结果,批发中心两张图片不显示,商品添加的缩略图不显示,由于第一次搭PHP环境,所以照着网上的教程一步步搞,搭好后能访问,但就是图片有问题。怎么弄都搞不定
前几天周尚辉大哥说是gd库的问题,我就配置了下php.ini文件,改成支持了gd库,后面要查看是否有gd库,编写php.php文件
< ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号