我有php页面,它从用户那里获取startdate,enddate,hotelname,city,price和type的值。 现在我需要检查我的数据库中仅查看用户输入的值。那可能吗?对于任何留空的条目,不应用相应的条件(例如,如果城市留空,则考虑所有城市)。 就像用户只输入酒店名称一样,我需要从酒店中选择* hname = hotelname。
如果我继续检查所有可能的条件,那么它将长达63种组合可能!那有什么出路吗?请帮忙!感谢。
答案 0 :(得分:0)
您应该编写一个循环输入变量的方法,并查找有效的列名,而不是单独处理每个输入。然后确保在SQL(mysqli,PDO)中使用预准备语句。
要检查特定的输入变量,您应该执行
if (isset($_POST['var']) && !empty($_POST['var']))
如果每个字段都需要特别关注或单独的数据库表,那么您很可能需要单独处理每个字段。
最终取决于您的需求。但根据我的经验,总有一种方法可以用语法进行。
答案 1 :(得分:0)
在代码中构建查询时,只包含包含值的项目。
您正在动态构建查询,不是吗?