我已经尝试寻找我的问题的答案,但似乎没有其他人遇到过这个问题!我基本上是在尝试使用 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;
最佳答案
您应该添加 {}
之类的
$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;
关于php - 在 PHP 中选择 WHERE x = $array[index]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15192497/