Mam następujący kod. Mysqli_insert_id() (w tym przypadku "$ last_row"), który ma zwrócić ostatni wiersz tabeli, zawsze zwraca 0. Dlaczego tak jest?Dlaczego funkcja mysqli_insert_id() zawsze zwraca 0?
<?php
include('connect-db.php');
$submit_date = date("Ymd");
$content = mysqli_real_escape_string($connection, htmlspecialchars($_POST['editor']));
$ip_address = $_SERVER['REMOTE_ADDR'];
$last_row = mysqli_insert_id($connection);
if ($content != '') {
$sql = "INSERT INTO source (track_id, submit_date, ip, content) VALUES ('$last_row', '$submit_date','$ip_address','$content')";
if (!mysqli_query($connection,$sql))
{
die('Error: ' . mysqli_error($connection));
}
echo $last_row;
mysqli_close($connection);
}
?>
„* Zwracane wartości: wartość pola AUTO_INCREMENT który został zaktualizowany przez poprzednie zapytanie. ** Zwraca zero, jeśli nie było wcześniejszego zapytania w połączeniu lub jeśli zapytanie nie zaktualizowało wartości AUTO_INCREMENT **. * " – DCoder
Spójrz: http://php.net/manual/en /mysqli.insert-id.php –