你能告诉我它的功能是intval什么吗?那怎么样?
'.intval($_POST['bla']).'
Run Code Online (Sandbox Code Playgroud)
为什么不直接阅读手册文章?
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
Run Code Online (Sandbox Code Playgroud)
这是一种防止SQL注入的简单方法.如果您的查询是这样的:
$sql = "DELETE FROM salads WHERE id = " . $_POST['salad_id'];
Run Code Online (Sandbox Code Playgroud)
然后,如果用户传入字符串"id"而不是实际的id,那么你的所有沙拉都将被删除!
但是如果你在它周围包装intval(),它会将任何不良修饰转换为整数零,并且不会影响沙拉.
$sql = "DELETE FROM salads WHERE id = " . intval($_POST['salad_id']);
Run Code Online (Sandbox Code Playgroud)