鉴于此查询
$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/