0

重複の可能性:
(mysql、php)データを挿入する前にauto_incrementフィールド値を取得するにはどうすればよいですか?

私はユーザー向けのこのテーブルを持っています。これuser_idは自動インクリメントフィールドです。PDOを使用してデータベースに接続し、実行しています。user_id新しいユーザーを追加した後、どうすれば値を取得できますか?

ユーザーにしようとしましmysql_insert_id()たが、何も起こりませんでした。

    $sql = "INSERT INTO  `users` (`user_name` ,`user_password` ,) VALUES (?, ?)";

    $db = new DB; // create Database handler.       
    if($db->execute($sql,$this->name,$this->password))
    {
        $this->permission = new permission(mysql_insert_id()); // <--- HERE
        $this->permission->reset();
        $this->permission->insert();
    }
    return true;

新しいクラスはuser_id値に基づいて構築されるためです。前もって感謝します。

4

2 に答える 2

3

mysql_insert_id()はPDOではありません。$db->e​​xecuteの後に$ db->lastInsertId()を試しましたか?

于 2012-05-18T00:54:55.217 に答える
0

次のSELECTクエリを使用して、最近追加された自動インクリメントIDを取得できます。

SELECT LAST_INSERT_ID();
于 2012-05-18T01:02:02.760 に答える