$_GET['goods_id']+0 的使用详解

yipeiwu_com6年前PHP代码库

目的: 为了防止sql注入,tid,goods_id都是正整数类型,防止人为了在后面追加 ?tid=1 or 1 这样的语句.
原理: 不管你的参数多么险恶,+0后都老老实实变成数值类型

比如 '?tid=1 or 1' , $_GET['tid']+0 后值变成1;

有学生问,你为什么不用(int)强转或intval来转换.
1: 用哪种方式,目的都是一样的
2: 用+0,只需要打2个字符,用(int)要打5个,intval()要打8个.
3: 对于+0,我不需要关心$tid是整型还是浮点型,还是大于2^32的长整型(如mysql中取得bigint), +0都能适应.
而用强转,则会发生溢出,当然你可以说,我用float来转,那不是还得分情况区别吗.

相关文章

CentOS6.5 编译安装lnmp环境

网上搜来的教程如下 复制代码 代码如下: yum -y install gcc gcc-c++ automake autoconf libtool glibc make libmcryp...

PHP析构函数destruct与垃圾回收机制的讲解

析构函数 当某个对象成为垃圾或者当对象被显式销毁时执行。 PHP5中提供的析构函数是__destruct,其与构造方法__construct相对应。 垃圾回收——GC(Garbage C...

谈谈新手如何学习PHP网络编程第1/2页

文章开头就列举了那么多联系方式,难免会让大家感觉有点AD的意味,但是不容质疑的是,默默的确有那么丁点的表现欲^_^,虽然有时候过于细致会被人说婆妈,但是幸好这种细致对于编程来说,还是蛮有...

php数据库密码的找回的步骤

1.用系统管理员登陆系统。 2.停止MySQL的服务。 3.进入命令窗口,然后进入MySQL的安装目录,比如我的安装目录是c:mysql,进入C:mysqlbin 4.跳过权限检查启动M...

php实现扫描二维码根据浏览器类型访问不同下载地址

<?php $Agent = $_SERVER['HTTP_USER_AGENT']; preg_match('/android|iphone/i',$Agent,$m...