如果在里面的SQL查询

时间:2014-05-13 12:14:11

标签: php sql

我有2个投递箱的搜索表单。让我们说productsrecipe_type。 如果用户选择两个dropbox,我的查询工作正常。 但如果有人决定只搜索产品,那么查询就无法运行。

应如何做到这一点?

查询是:

SELECT 
  receitas.id, 
  receitas.titulo, 
  receitas.img_small, 
  receitas.tempo, 
  receitas.dificuldade, 
  receitas.pessoas, 
  id_tipo.id_tipo, 
  id_tipo.id_receita, 
  tipo.id_t, 
  produtos.id_p, 
  produtos.nome,  
  id_produto.id_receita, 
  id_produto.id_produto 
FROM 
  receitas, id_tipo, tipo, produtos, id_produto 
WHERE 
  tipo.id_t = %s 
AND produtos.id_p = %s 
AND receitas.id = id_tipo.id_receita  
AND id_tipo.id_tipo = tipo.id_t 
AND receitas.id = id_produto.id_receita 
AND id_produto.id_produto = produtos.id_p
有谁帮我?

1 个答案:

答案 0 :(得分:0)

如果未指定变量,变量包含哪些内容?空值?一个空字符串?以下是空字符串的示例:

SELECT 
  receitas.id, 
  receitas.titulo, 
  receitas.img_small, 
  receitas.tempo, 
  receitas.dificuldade, 
  receitas.pessoas, 
  id_tipo.id_tipo, 
  id_tipo.id_receita, 
  tipo.id_t, 
  produtos.id_p, 
  produtos.nome,  
  id_produto.id_receita, 
  id_produto.id_produto 
FROM 
  receitas, id_tipo, tipo, produtos, id_produto 
WHERE 
  (tipo.id_t = %s OR %s = '')
AND (produtos.id_p = %s OR %s = '')
AND receitas.id = id_tipo.id_receita  
AND id_tipo.id_tipo = tipo.id_t 
AND receitas.id = id_produto.id_receita 
AND id_produto.id_produto = produtos.id_p