php如何防止sql注入攻击

php如何防止sql注入攻击

php简单实现防止sql注入的方法

方法一:execute代入参数

 $var_Value) {    //获取POST数组最大值    $num = $num + 1;  }  //下标为i的数组存储的是商品id, 下标为j数组的存储的是此商品的库存  for($i=0;$isetAttribute(PDO::ATTR_EMULATE_PREPARES, false);      //查询数据库中是否存在该ID的商品      //当调用 prepare() 时,查询语句已经发送给了数据库服务器,此时只有占位符 ? 发送过去,没有用户提交的数据      $stmt = $pdo->prepare("select good_id from delphi_test_content WHERE good_id = ?");      //当调用到 execute()时,用户提交过来的值才会传送给数据库,他们是分开传送的,两者独立的,SQL攻击者没有一点机会。      $stmt->execute(array($_POST[$i]));      //返回查询结果      $count = $stmt->rowCount();      //如果本地数据库存在该商品ID和库存记录,就更新该商品的库存      if($count != 0)      {        $stmt = $pdo->prepare("update delphi_test_content set content = ? WHERE good_id = ?");        $stmt->execute(array($_POST[$j], $_POST[$i]));      }      //如果本地数据库没有该商品ID和库存记录,就新增该条记录      if($count == 0)      {        $stmt = $pdo->prepare("insert into delphi_test_content (good_id,content) values (?,?)");        $stmt->execute(array($_POST[$i], $_POST[$j]));      }    }  }  $pdo = null;  //关闭连接}?>

登录后复制

方法二:bindParam绑定参数

 $var_Value) {    //获取POST数组最大值    $num = $num + 1;  }  //下标为i的数组存储的是商品id, 下标为j数组的存储的是此商品的库存  for($i=0;$iprepare("select good_id from delphi_test_content WHERE good_id = ?");      $stmt->execute(array($_POST[$i]));      $stmt->bindParam(1,$_POST[$i]);      $stmt->execute();      //返回查询结果      $count = $stmt->rowCount();      //如果本地数据库存在该商品ID和库存记录,就更新该商品的库存      if($count != 0)      {        $stmt = $pdo->prepare("update delphi_test_content set content = ? WHERE good_id = ?");        $stmt->execute(array($_POST[$j], $_POST[$i]));        $stmt->bindParam(1,$_POST[$j]);        $stmt->bindParam(2,$_POST[$i]);        $stmt->execute();      }      //如果本地数据库没有该商品ID和库存记录,就新增该条记录      if($count == 0)      {        $stmt = $pdo->prepare("insert into delphi_test_content (good_id,content) values (?,?)");        $stmt->bindParam(1,$_POST[$i]);        $stmt->bindParam(2,$_POST[$j]);        $stmt->execute();      }    }  }  $pdo = null;  //关闭连接}?>

登录后复制

以上就是php如何防止sql注入攻击的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2524082.html

(0)
上一篇 2025年3月5日 17:49:51
下一篇 2025年2月26日 10:45:51

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • php如何多线程

    php开启多线程的方法 php如何安装pthreads的拓展的,我采用的是windows安装,我本机的开发环境是phpstudy。 有几点特别需要注意,在window中此类拓展一定是要在线程安全(ts)的php版本中运行。 安装 立即学习“…

    2025年3月5日 编程技术
    200
  • php判断星期几

    php判断今天是星期几 php的date()函数十分强大,合理利用该函数的各种参数可以实现我们日常开发中的各种需求,今天说说如何使用php判断今天是星期几的方法。 PHP date()参数说明 这里主要用到了 w 这个参数,关于这个参数的解…

    2025年3月5日
    200
  • php判断文件是否可写

    php判断文件或目录是否可写 在PHP中,可用is_writable()函数来判断一个 文件/目录 是否可写,详情如下: 参考 is_writable — 判断给定的文件名是否可写。 说明 立即学习“PHP免费学习笔记(深入)”; bool…

    2025年3月5日
    200
  • php判断文件夹是否存在

    php判断文件或目录是否存在 1、file_exists()函数 判断文件文件是否存在 实例: //$file = “check.txt”;if(file_exists($file)){    echo “当前目录中,文件”.$file.”…

    2025年3月5日
    200
  • php判断两个字符串是否相同

    php判断两个字符串是否相同 strncmp()函数定义如下: strncmp(string1,string2,length) 参数说明: string1 必需。规定要比较的首个字符串。 立即学习“PHP免费学习笔记(深入)”; strin…

    2025年3月5日
    200
  • php连接mysql数据库中文乱码

    要解决php数据库乱码问题可以做以下设置: 一、数据库里的设置: 1、在MYSQL中新建数据库的时候,数据库选择UTF-8编码既字符集设定为utf-8_unicode_ci(Unicode (多语言),不区分大小写),库里面 表table的…

    2025年3月5日
    200
  • php框架区别

    php常见框架区别 一、CI框架 CI框架是一个简单快速的PHP MVC轻量级框架,它执行效率高,快速简洁,代码量少,适合中小型项目开发,也可以做大型项目,但扩展能力不是很好。 优势:框架比较简单,适合入门开发,易学,上手快,静态化很容易,…

    2025年3月5日
    200
  • php教程书籍有哪些

    如果你学过其他的语言,你会发现php其实还算简单的。有人说php学习适合看手册,但是依然有很多的经典书可以帮助大家入门和提高。以下4本你就可以好好读读。 1、细说PHP PHP入门的经典,内容详实易懂,全面涵盖了web开发的所需的知识内容。…

    2025年3月5日 编程技术
    200
  • php接口有哪几种

    一、接口按请求人可以分为两种: 1、是被其他内部项目调用的接口(包括js异步请求的接口和定时程序)。 2、是对外的接口,主要提供给外部开发者调用的。 两种接口最大区别就是,内部接口不需要太严格的身份验证,而对外接口需要严格的身份验证,加密解…

    2025年3月5日
    200
  • php解决乱码

    第一种:解决html中中文乱码问题方法 如果你的HTML文件文件出现了乱码问题,那么你可以在head标签里面加入UTF8编码(国际化编码):UTF-8是没有国家的编码,也就是独立于任何一种语言,任何语言都可以使用的。    登录后复制 第二…

    2025年3月5日
    200

发表回复

登录后才能评论