對,所以我在我的頁面上有一組下拉菜單。取決於是否選擇了一個值,我想將它添加到PHP中的SQL查詢字符串中。例如:如何構建動態SQL查詢?
select1: options("*" "op1", "op2)
select2: options("*" "op1", "op2)
select3: options("*" "op1", "op2)
'*'表示任何事情。即數據不應該被該查詢選項過濾。現在,我該如何快速而簡單地構建查詢?目前,我有這樣的事情:
$query='';
$found=0;
$op1=$_POST['select1'];
$op2=$_POST['select2'];
$op3=$_POST['select3'];
if($op1!='*')
{
$found=1;
$op1="'".$op1."'";
$query="WHERE op1=$op1 ";
}
if($op2!='*')
{$op2="'".$op2."'";
if($found==1)
{
$query=$query. "AND op2=$op2 ";
}
else{
$found=1;
$query="WHERE op2=$op2 ";
}
}
if($op3!='*')
{$op3="'".$op3."'";
if($found==1)
{
$query=$query. "AND op3=$op3 ";
}
else{
$found=1;
$query="WHERE op3=$op3 ";
}
}
現在,很明顯,這是很煩人的實現。有沒有更簡單的方法?
謝謝。
被警告說,目前的代碼使你接觸SQL注入攻擊.. http://en.wikipedia.org/wiki/SQL_injection – 2010-02-13 17:56:06
加比 - 我我很清楚。這只是一個例子。 – Rohan 2010-02-17 11:10:58