如何将数据库中最后两个插入值的id与包含相同值的新数组相匹配


How to match the id of the last two inserted value in the database to a new array containing the same value

我怀疑这个问题是否已经被问过了,如果我很高兴看到这个问号重复并看到参考文献,因为我找不到与之匹配的相同问题。

我有一个表和一个数组变量。

我的桌子是这样的:

ID | Name
1  | foo
2  | bar
3  | foo
4  | bar

我的变量是:

$myarray = array('foo', 'foo', 'bar');

我想要的是获得插入表中的最后两个项目的id,它们与我当前数组的值相匹配。所以想要的结果应该是这样的:

$newArray = array(3,3,4);

假设我已经将最后两个插入值的id存储在数组中,如下所示:

$idarray[] = mysqli_insert_id();

我有一个像现在这样的查询,但我没有得到每个值的正确id:

    for ($i =0; $i<count($myarray);$i++){
  $query = mysqli_query($con, "SELECT * FROM table 
                               WHERE Name = '". $myarray[$i]."' 
                               AND ID = '". idarray[$i]."'");
   while($row = mysqli_fetch_array($query)){
       $newarray[] = $row['ID'];
    }
}

但我没有得到正确的身份证。有什么建议吗?

我就是这样得到的:

for ($i =0; $i<count($myarray);$i++){
$query = mysqli_query($con, "SELECT max(ID) AS ID 
                             FROM table 
                             WHERE Name = '". $myarray[$i]."'"); 
while($row = mysqli_fetch_array($query)){ 
  $newarray[] = $row['ID']; } 
}

它如我所料。