Php 如何做MySql';id';基于数组查找并将结果保存到新数组中

Php 如何做MySql';id';基于数组查找并将结果保存到新数组中,php,sql,arrays,Php,Sql,Arrays,我有一个有很多(100-800)id的数组。 我想查询我的数据库,从我的数组中查找与数据库中的任何匹配项的id,然后将匹配结果保存在新数组中 我的阵列: //print_r($_POST["fb_friend_uid"]) Array ( [0] => Array ( [id] => 263901486 ) [1] => Array ( [id] => 502

我有一个有很多(100-800)id的数组。 我想查询我的数据库,从我的数组中查找与数据库中的任何匹配项的id,然后将匹配结果保存在新数组中

我的阵列:

//print_r($_POST["fb_friend_uid"])
Array
(
    [0] => Array
        (
            [id] => 263901486
        )

    [1] => Array
        (
            [id] => 502533736
        )
)
while($row=mysqli_fetch_assoc($result)){
    $savedResultsInNewArray=[$row['vote_fb_uid']];
}
--一,。然后我尝试查看数组中的值是否与数据库中的记录匹配-这样做是否正确?

$ids = join(',',$_POST["fb_friend_uid"]);

SELECT *
FROM vote WHERE
vote_fb_uid IN ($ids)
AND DATE(FROM_UNIXTIME(vote_time)) = DATE(NOW())";
--二,然后我努力将匹配的记录保存到一个新的数组中-这就是我尝试的:

//print_r($_POST["fb_friend_uid"])
Array
(
    [0] => Array
        (
            [id] => 263901486
        )

    [1] => Array
        (
            [id] => 502533736
        )
)
while($row=mysqli_fetch_assoc($result)){
    $savedResultsInNewArray=[$row['vote_fb_uid']];
}
我希望以如下格式返回新数组:echo
json\u encode($savedresultwarray)


我有点不确定上述方法是否正确?

第一部分是从阵列中获取您的ID。可以通过循环执行此操作:

<?php

foreach ($_POST["fb_friend_uid"] as $uid) {
    $uids[] = $uid['id'];
}

$ids = join(',', $uids);

/*
 * Query is correct
 *
 * SELECT *
 * FROM vote WHERE
 * vote_fb_uid IN ($ids)
 * AND DATE(FROM_UNIXTIME(vote_time)) = DATE(NOW())";
*/

// For the returning part.

while($row=mysqli_fetch_assoc($result)){
    $savedResultsInNewArray[] = $row['vote_fb_uid'];
}

这里有多个步骤,哪一个失败了,如何失败?嗨,Farkie-非常感谢您的回复!我几乎认为我成功了。我尝试将查询调整为硬编码的id号,这是在Phpmyadmin中运行的,它给出了两个结果。但是当我打印时($savedresultwarray);然后我只得到一个结果-所以似乎所有的结果数据都保存在新数组中了-有什么想法吗?我稍微修改了底部部分,添加了[]Sry,我想我没有看到任何更新吗?:)-至少$savedResultWarray[]=$row['vote\u fb\u uid';从一开始就存在:)这就是我现在所做的我没有改变我的代码-我的意思是我已经从你的代码版本中修改了它,
$savedresultsinewarray[]=$row['vote\u fb\u uid']
。这将创建一个从数据库中提取的uid数组。这样做的原因是[and]嗯,很奇怪-尝试运行精确的底部部分,并且可以从新数组中输出一个结果-尽管直接在数据库中运行$query告诉我应该得到两个结果