在php中选择WHERE x = $ array [index]?

时间:2013-03-04 00:02:23

标签: php mysql select

我已经尝试过寻找问题的答案,但似乎没有人遇到过这个问题!我基本上尝试使用WHERE语句在php中进行选择,我想将我的$ ID与名为$ resultAddID2的数组中的变量存储进行比较。该数组具有值[1,2,1];如果我尝试访问$ resultAddID2 [0]它工作正常,但如果我尝试使用$ resultAddID2 [1]或$ resultAddID2 [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;

1 个答案:

答案 0 :(得分:0)

您应该添加{}之类的

$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;