0

これが私が使用しているコードです。コードは単に2つの異なる方法で同じ値を取得していますが、mysql_insert_id()エコーは出力を提供していません。

-> echo mysql_insert_id(); によって与えられる値。は 0 です

考えられる理由とこの問題を解決する方法を誰か教えてもらえますか?

include'config.php';        

$query = "SELECT id
          FROM      users
          ORDER BY  id DESC
          LIMIT     1";

if($query_run = mysql_query($query))
{
    $query_result =  mysql_fetch_row($query_run);

    $id = $query_result[0];     

    echo $id;
    echo $lastId = mysql_insert_id().'<br />';  
    //'Query Successful!';

} else {
    echo mysql_error();
}
4

1 に答える 1

1

挿入される次の自動インクリメント ID を探している場合。これを試してみるといいと思います。

$query_autoinc="SHOW TABLE STATUS LIKE 'mytable'";
$exec_autoinc=mysql_query($query_autoinc);
$row_autoinc=mysql_fetch_assoc($exec_autoinc);
$inserted_id = $row_autoinc['Auto_increment'];

または、最後に挿入された ID が必要な場合は、これを試してください。

$query= "SELECT max(id)
         FROM      users
         ORDER BY  id DESC
         LIMIT     1";
于 2012-05-01T13:42:14.563 に答える