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