我有以下疑問:PHP比較兩個,而結果循環
$state = get['state'];
$getPossibleIDs = "SELECT * FROM ".$report_group_lookup;
$qPossibleID = $conn->prepare($getPossibleIDs);
$qPossibleID -> execute();
while($rowPossible = $qPossibleID->fetch())
{
$possibleID = $rowPossible['id'];
$possibleName = $rowPossible['name'];
$getSpecificIDs = "SELECT * FROM rbs_report_type_2_specific WHERE rbs_report_type_id =".$state;
$qSpecifcID = $conn -> prepare($getSpecificIDs);
$qSpecifcID -> execute();
while($rowSpecfics = $qSpecifcID->fetch())
{
$specificIDs = $rowSpecfics['rbs_specific_id'];
if($possibleID == $specificIDs)
{
echo $possibleName."-Yes<br/>";
}
else
{
echo $possibleName."-No<br/>";
}
}
}
我所試圖做的是比較兩個同時看起坐,第一查找,getPossibleIDs的結果,查找所有可能的該語句可以查看的ID。第二個,getSpecificIDs,只能找到之前選擇的那些。
它幾乎工作,但第二個查詢看起來在一個表具有以下信息:
------------------------------------
|rbs_report_type_id|rbs_specific_id|
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
所以結果我得到的是重複三次,每次一個rbs_spefic_id:
HDD Coordinator-No
HDD Coordinator-No
HDD Coordinator-No
Rig Manager-Yes
Rig Manager-No
Rig Manager-No
Driller-No
Driller-Yes
Driller-No
Tank Hand-No
Tank Hand-No
Tank Hand-Yes
而不是:
HDD Coordinator-No
Rig Manager-Yes
Driller-Yes
Tank Hand-Yes
有關如何相應地更改輸出的任何建議?
感謝
什麼是'$ state'? –
編輯,但狀態只是一個ID – Owen
你是受SQL注入攻擊。使用參數化查詢完全避免此問題。 – Brad