php - 我使用 mysql_real_escape_string 对吗?

标签 php mysql sql sql-injection

这是使用 mysql_real_escape_string 的正确方法吗?我正在使用 $GET 但一位 friend 告诉我使用 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); {

最佳答案

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

  1. 您已经使用了intval
  2. 你用错地方了。

您的示例中不需要它。

关于php - 我使用 mysql_real_escape_string 对吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5985717/

相关文章:

javascript - 为什么 php 变量不能与 javascript 循环一起使用?

php - 什么是模型,什么不是模型 php

mysql - 需要帮助理解这段 MySQL 代码

php - 获取用户在排行榜中的位置?

php - 获取事件网卡的网站访问者 MAC 地址?

php - 如何从嵌套对象构建嵌套数组?

mysql - 1 个查询中的多个条件

php - 输入登录密码时,要检查的密码不==

MySQL - 根据键/值查找表转换编码值

sql - Oracle CASE 表达式文档问题