我使用的是mysql_real_escape_string吗?

Mst*_*QKN 1 php mysql sql sql-injection

这是正确的使用方式mysql_real_escape_string吗?我正在使用,$GET但是一位朋友告诉我用real_escape_string让它更安全:

$id = intval($_GET['id']);

$result = mysql_query("SELECT * 
                         FROM products 
                        WHERE id = $id") or die("err0r");

if(!$result) mysql_real_escape_string($id); {
Run Code Online (Sandbox Code Playgroud)

jer*_*oen 6

不,您通常用于mysql_real_escape_string准备在查询中使用的变量,但在您的情况下:

  1. 你已经用过intval;
  2. 你在错误的地方使用它.

你的例子中不需要它.