我有以下疑问: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