我可能完全走错了方向,但我想从数据库中获取一组数据,然后在另一个 SQL 语句中使用该数组。
这是我当前的代码:
$result = mysql_query($query_friend_club_count) or die(mysql_error());
while($row = mysql_fetch_array($result)){
$row['idPerson']. " - ". $row['idFriend'];
$idFriend = $row['idFriend'];
$array = $idFriend',';
$query_friends = "SELECT * FROM whosout WHERE idPerson IN ('$array')";
$query_friends_run = mysql_query($query_friends);
$friendCounter = mysql_num_rows($query_friends_run);
echo $friendCounter;
}
我收到以下错误:
syntax error, unexpected T_CONSTANT_ENCAPSED_STRING
不知道有没有用。
任何建议都会非常有帮助,因为我已经坚持了很长时间!!
最佳答案
您也可以先将它们分组,而不是逐一查询:
$array = array();
while($row = mysql_fetch_array($result)){
$array[] = mysql_escape_string($row['idFriend']); // escape just to be sure
}
$array = "'".implode("','", $array) . "'"; // comma separated values
$query_friends = "SELECT * FROM whosout WHERE idPerson IN ($array)";
$query_friends_run = mysql_query($query_friends);
$friendCounter = mysql_num_rows($query_friends_run);
echo $friendCounter;
或者如果此列是 INT,则不需要引号:
$array = implode(', ', $array);
关于php - 如何在 sql 语句中使用 sql 数据库中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26123852/