学习intval

时间:2010-07-09 03:01:49

标签: php

你能告诉我intval的功能是什么吗? 那怎么样?

'.intval($_POST['bla']).'

2 个答案:

答案 0 :(得分:6)

为什么不阅读the manual article

  

intval - 获取变量的整数值

该页面的这个表格给出了一个很好的例子:

echo intval(42);                      // 42
echo intval(4.2);                     // 4
echo intval('42');                    // 42
echo intval('+42');                   // 42
echo intval('-42');                   // -42
echo intval(042);                     // 34
echo intval('042');                   // 42
echo intval(1e10);                    // 1410065408
echo intval('1e10');                  // 1
echo intval(0x1A);                    // 26
echo intval(42000000);                // 42000000
echo intval(420000000000000000000);   // 0
echo intval('420000000000000000000'); // 2147483647
echo intval(42, 8);                   // 42
echo intval('42', 8);                 // 34
echo intval(array());                 // 0
echo intval(array('foo', 'bar'));     // 1

答案 1 :(得分:5)

这是防止SQL注入的简单方法。如果您的查询是这样的:

$sql = "DELETE FROM salads WHERE id = " . $_POST['salad_id'];

然后,如果用户传入字符串“id”而不是实际ID,那么您的所有沙拉都将被删除!!

但如果你在它周围包裹intval(),它会将任何不良敷料转换为整数零,并且不会影响沙拉。

$sql = "DELETE FROM salads WHERE id = " . intval($_POST['salad_id']);