什么是参数化查询?

2022-08-30 10:06:03

什么是参数化查询,PHP 和 MySQL 中此类查询的示例是什么?


答案 1

参数化查询(也称为预准备语句)是一种预编译 SQL 语句的方法,因此您需要提供的只是需要插入到语句中才能执行的“参数”(想想“变量”)。它通常用作防止SQL注入攻击的手段

您可以在PHP的PDO页面上阅读有关这些内容的更多信息(PDO是数据库抽象层),尽管如果您使用的是mysqli数据库接口,您也可以使用它们(请参阅准备文档)。


答案 2

这是对它是什么以及它是如何工作的清晰简洁的解释。如何以及为什么使用参数化 [存档链接] (因为原始链接已失效)

本质上,该过程涉及服务器在没有参数的情况下预处理请求,以便它知道查询的类型。因此,例如,SELECT查询只是一个SELECT查询,不能由参数(请求变量)连接为SELECT / DROP或其他MySql注入。相反,注入数据将只是参数字段中的字符串数据。


推荐