php - 将内容替换为 SQL 查询的获取参数

标签 php mysql get

鉴于此查询

$query = "SELECT * FROM products WHERE category = {category} AND price = '{price}'"

使用这些 $_GET 参数:类别 = 10 且价格 = $60

我想将 {} 内的内容替换为实际的 GET 值 获取像这样的 sql 查询:

"SELECT * FROM products WHERE category = 10 AND price = '$60'"

但如果缺少一个或多个参数,我想替换 {} 的内容 用不同的东西来避免执行。例如:

"SELECT * FROM products WHERE category = category AND price = price"

注意:我了解sql注入(inject)。那是另一个话题了。我想知道如果值(来自 get)不存在,如何避免执行 sql 语句。 例如 select * from products where id = id 返回所有产品,但 select * from products where id = 100 仅返回一个(id 100)

最佳答案

对于一个简单的查询,这是一种 OP 方式,但请看一下 Doctrine ,它是处理您的查询的完美层

关于php - 将内容替换为 SQL 查询的获取参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25747286/

相关文章:

php - 如何解决这个 PHP 通知错误?

XAMPP 上的 Php-intl 安装

php - 如何将 $_GET 路径与 file_exists 一起使用并保证其安全?

nginx 连接限制

php - PHP 中有没有一种方法可以捕获使用 POST 方法传递的所有信息

javascript - 获取和javascript?就像 php 的 if $_GET[foo]

javascript - 获取 AJAX 响应的特定部分

javascript - 如何对具有不同 id 的输入类使用一个函数

php - 加载 mysql 数据后继续 jQuery

mysql - Node.js 和让 db-mysql 工作