我怀疑这个问题是否已经被问过了,如果我很高兴看到这个问号是重复的,并看到参考,因为我找不到一个相同的问题,匹配这个。
我有一个表和一个数组变量。
我的桌子是这样的:

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']; }
}

它按我的预期工作。

关于php - 如何将数据库中最后两个插入值的ID与包含相同值的新数组匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29190388/

10-14 15:16