LAST_INSERT_ID () не может заставить этот код работать

0

Я не вижу, что я сделал не так, пожалуйста, помогите. Я Last_Insert_Id о Select Last_Insert_Id и я застрял в течение нескольких дней.

$result2 = $mysqli1->query("SELECT LAST_INSERT_ID()");

while($row = mysqli_fetch_assoc($result2)) {
    return $row;
}
$last_id = $row;

$sql = "UPDATE bao_admin_table SET Name='$name' WHERE ID = '$last_id' ";

if ( $mysqli1->query($sql)){

    $_SESSION['message'] = 'Registration successful!';
    header("location: success.php"); 

}else{
    $_SESSION['message'] = 'Registration failed!';
    header("location: error2.php");
}
  • 2
    Вы получаете какую-либо ошибку?
  • 4
    Вы можете получить last_insert_id, выполнив следующее: $ last_id = $ conn-> insert_id;
Показать ещё 1 комментарий
Теги:

2 ответа

0
Лучший ответ

вы можете получить last_insert_id, делая это

 $last_id = $conn->insert_id; 

Для получения дополнительной информации: https://www.w3schools.com/PHP/php_mysql_insert_lastid.asp

Или вы тоже можете это сделать

$selectquery="SELECT id FROM tableName ORDER BY id DESC LIMIT 1";
$result = $mysqli->query($selectquery);
$row = $result->fetch_assoc();
$last_id=$row['id'];
echo $last_id;
  • 0
    Спасибо ... были проблемы с этим последние несколько дней ..
  • 0
    добро пожаловать .. если это полезно для вас, вы можете, пожалуйста, upvote мой ответ
2

Я предполагаю, что вы можете вставлять запись, тогда только вы можете получить последний вставленный идентификатор. Есть два способа добиться этого,

  1. После вставки введите последнее вставленное значение. Так вы можете это сделать

    $sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', '[email protected]')";
    if (mysqli_query($conn, $sql)) 
    {
    $last_id = mysqli_insert_id($conn);
    echo "New record created successfully. Last inserted ID is: " . $last_id;
    } 
    else 
    {
     echo "Error: " . $sql . "<br>" . mysqli_error($conn);
    }
    
  2. Я ожидаю, что у вас есть по крайней мере первичный ключ, чтобы вытащить уникальные записи из таблицы, так что вы можете получить последний идентификатор, применяя порядок по убыванию.

'

$sql = "SELECT * FROM MyGuests ORDER BY id DESC";
$result = $conn->query($sql);
if ($result->num_rows > 0) 
{// output data of each row
while($row = $result->fetch_assoc()) 
{
    echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} 
else 
{
echo "0 results";
}

'

Ещё вопросы

Сообщество Overcoder
Наверх
Меню