gpt4 book ai didi

php - 如何在 sql 语句中使用 sql 数据库中的数组

转载 作者:太空宇宙 更新时间:2023-11-03 10:49:56 25 4
gpt4 key购买 nike

我可能完全走错了方向,但我想从数据库中获取一组数据,然后在另一个 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com