2

我已经尝试寻找我的问题的答案,但似乎没有其他人遇到过这个问题!我基本上是在尝试使用 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;
4

1 回答 1

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;
于 2013-03-04T00:14:38.243 回答