我试图使用lastInsertId()从数据库中获取最后一条记录,但它一直重新调整为0。我不明白为什么会出现这个问题。这是我的代码。 谢谢
$query = "SELECT url FROM links WHERE code = :code";
$get = $db->prepare($query);
$get->execute(array(
":code" => $code
));
if($get->rowCount()) {
$url = $get->fetch(PDO::FETCH_OBJ)->url;
$status = substr(get_headers($url)[0],9,3);
if(intval($status) == 301) {
$last = $db->lastInsertId();
$query = "SELECT url FROM links WHERE id = :id";
$send = $db->prepare($query);
$send->execute(
":id" => $last
);
$lastUrl = $send->fetch(PDO::FETCH_OBJ)->url;
header("Location:{$lastUrl}");
}
else {
header("Location:{$url}");
}
die();
}
最佳答案
代码中没有 INSERT。
我猜您正在寻找表中最大的 id。 那么答案就是:
SELECT MAX(id) FROM links
关于php - 为什么在我的代码中 PDO lastInsertId() 返回 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28319460/