Не выдает id - mysqli_insert_id php

Рейтинг: 0Ответов: 1Опубликовано: 30.01.2023

mysqli_insert_id - выдает ноль .

$sql = "INSERT INTO assets
(`assetscol`) 
VALUES 
(200)";

if(mysqli_query(db(), $sql)){
    // Получить последний вставленный идентификатор
    $last_id = mysqli_insert_id(db());
    echo "Записи успешно вставлены. Последний вставленный идентификатор: " . $last_id;
} else{
    echo "Ошибка вставки $sql. " . mysqli_error(db());
}

function db(){
    $connect = mysqli_connect('localhost', 'root', '', 'money_02');
    return $connect;`введите сюда код`
}

Запись в базу вносится. Но mysqli_insert_id возвращает ноль. В чём дело, что делать?

Ответы

▲ 1Принят

У вас используются разные коннекты при вызове запроса и mysqli_insert_id, запомните текущее соединение с базой:

$connect = db();

if(mysqli_query($connect, $sql)){
    // Получить последний вставленный идентификатор
    $last_id = mysqli_insert_id($connect);
    echo "Записи успешно вставлены. Последний вставленный идентификатор: " . $last_id;
} else{
    echo "Ошибка вставки $sql. " . mysqli_error($connect);
}