我有一个html表格,加载一个mySQL数据库表中的所有内容。我有关于mySQL表的列的下拉列表 - 当用户选择其中一个下拉列表时,它使用AJAX查询数据库。使用php变量创建一个动态mysql查询
我需要弄清楚如何动态构建查询,因为有时候下拉列表将是空的(即他们不想按该列进行过滤)。
这样做的最好方法是什么?
目前,我有这样的事情:
$stationFilter = $_GET['station'];
$verticalFilter = $_GET['vertical'];
$creativeFilter = $_GET['creative'];
$weekFilter = $_GET['week'];
$result = mysql_query("SELECT * FROM $tableName WHERE STATION_NETWORK = '$stationFilter' AND VERTICAL = '$verticalFilter' AND CREATIVE = '$creativeFilter' AND WK = '$weekFilter'");
$data = array();
while ($row = mysql_fetch_row($result))
{
$data[] = $row;
}
$finalarray['rowdata'] = $data;
,你能想象不工作,因为如果任何这些字段是空的 - 查询失败(或返回任何内容,而不是)。
很明显,创建这样一个'静态'查询,如果某些变量为空,真的会很难。
什么是动态创建该查询的最佳方式,以便它只输入非空的查询将被添加到查询中,以便它可以成功完成并显示适当的数据?
你为什么不回应你的查询,看看有什么是错误的,当下拉列表是空的? –
不要使用mysql_query,它已弃用。另外,你对sql注入产生了影响。 – Jonast92
现在我只关心它的运作。这只是专门用于Intranet并使其工作。它永远不会看到外部世界。感谢您的关注,这是我知道的事情,但想看看我是否可以得到这个工作。 – Hanny