1

重複の可能性:
php / MySQLは行を挿入してから、「id」を取得します

INSERT INTOで現在のID番号を取得するにはどうすればよいですか?

mysql_query("INSERT INTO mytable(id,a,b) VALUES(null,3,current ID) ");

mysql_query("
    INSERT INTO tablo(id,a,b)
    VALUES(null,3,this ID number)
            ^            ^
            |            |
            | <Copy ID>  |
            |____________|
");
4

3 に答える 3

4

を使用mysqli_insert_id()します。これは、最後のクエリで使用された自動生成されたIDを返します。

PHPmysql_insert_id()関数」または「mysql_insert_id」をお読みください。

例:

<?php
$query= "INSERT INTO table_name VALUES ('a','b','c')";
$result = mysql_query($query);
echo "INSERT statement ID is" . mysql_insert_id();
?>

そして、mysql_insert_idページのPHPドキュメントの大きな赤いボックスを読んでくださいmysqli

詳細については、PHPのドキュメントを参照してください。

于 2012-10-03T17:10:58.950 に答える
1

基本的にはこの機能を使用できますmysqli_insert_id

PHPマニュアルに記載されているように:

mysqli_insert_id()関数は、AUTO_INCREMENT属性を持つ列を持つテーブルに対するクエリによって生成されたIDを返します。最後のクエリがINSERTまたはUPDATEステートメントではなかった場合、または変更されたテーブルにAUTO_INCREMENT属性を持つ列がない場合、この関数はゼロを返します。

于 2012-10-03T17:11:43.157 に答える
0

選択したテーブルで使用されているシーケンスの次の値を取得してみてください。MySQLにこの値を取得する関数があるかどうかを確認してください。SQLステートメントの実行中にこの番号が必要な場合、PHP関数を使用することはできません。

「 MySQLクエリで自動インクリメント値を取得する」にチェックを入れます。

于 2012-10-03T17:13:17.183 に答える