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

You should add {}'s like

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

It would be better if you did something like this because you are querying the second item too many times

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

OR simpler yet:

$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 に答える