selecting in php WHERE x = $array[index]?


selecting in php WHERE x = $array[index]?

我试着寻找我的问题的答案,但似乎没有人有这个问题!我基本上试图在php中选择使用WHERE语句,我想比较我的$ID变量存储在一个名为$ resultaddd2的数组。这个数组的值为[1,2,1];如果我尝试访问$ resultaddd2[0]它工作得很好,但如果我尝试使用$ resultaddd2[1]或$ resultaddd2[2]它根本不起作用!我确信这是愚蠢的事情,但对于我的生活,我只是不能弄清楚!如有任何帮助,我将不胜感激,谢谢。

这里是我尝试这样做的部分:

$resultAddID = mysql_query("SELECT ADDRESS_ID FROM hospital");
while($resultAddID1=mysql_fetch_array($resultAddID)){
$resultAddID2[]=$resultAddID1['ADDRESS_ID'];

for ($i = 0; $i <= 2; $i++) {
$resultAddT = mysql_query("SELECT * FROM address WHERE ID = $resultAddID2[]");
$resultAddTm= mysql_fetch_array($resultAddT);
$resultAddT2[]=$resultAddTm['GOVER_ID'];
}
}
$response["hospADD"]= $resultAddT2;

您应该添加{}

$resultAddT = mysql_query("SELECT * FROM address WHERE ID = {$resultAddID2[$i]}");

如果你这样做会更好,因为你查询第二项的次数太多了

$resultAddID = mysql_query("SELECT ADDRESS_ID FROM hospital");
while($resultAddID1=mysql_fetch_array($resultAddID)){
    $resultAddID2[]=$resultAddID1['ADDRESS_ID'];
}
for ($i = 0; $i <= 2; $i++) {
    $resultAddT = mysql_query("SELECT * FROM address WHERE ID = {$resultAddID2[$i]}");
    $resultAddTm= mysql_fetch_array($resultAddT);
    $resultAddT2[] = $resultAddTm['GOVER_ID'];
}
$response["hospADD"]= $resultAddT2;

或者更简单:

$resultAddID = mysql_query("SELECT ADDRESS_ID FROM hospital");
while($resultAddID1=mysql_fetch_array($resultAddID)){
    $resultAddT = mysql_query("SELECT * FROM address WHERE ID = {$resultAddID1['ADDRESS_ID']}");
    $resultAddTm= mysql_fetch_array($resultAddT);
    $resultAddT2[] = $resultAddTm['GOVER_ID'];
}
$response["hospADD"]= $resultAddT;