我使用$_GET['id']
获得ID,并在数据库看看它逃脱输入。我一定使用mysqli_real_escape_string即使我检查它使用is_numeric防止SQL注入
我的印象是,如果我使用is_numeric
函数来检查字符串是否为数字,那么我不必使用mysqli_real_escape_string
转义输入。但最近发现了这一点。
查找给定的变量是否是数字。数字字符串包括可选符号 ,任意数字位数,可选小数部分和可选指数部分 。因此+ 0123.45e6是一个有效的数值。 十六进制(例如0xf4c3b00c),二元(例如0b10100111001),八通道 (例如0777)符号被允许太多,但只不带符号,十进制和 指数部分。 REF:http://php.net/manual/en/function.is-numeric.php
所以我的问题是 我是否有使用mysqli_real_escape_string即使我把它用is_numeric防止SQL注入检查逃跑输入?
作为输入将只是数值例如。 555,222456,879
使用准备好的语句,避免担心它。 – Ohgodwhy 2014-10-09 02:05:23