2012-01-29 9 views
0

データベースに挿入した後に自動増分フィールドを取得する方法例。苦情が登録され、苦情IDがユーザーに示されるべきである場合。自動増分フィールドを取得する方法

$sql="INSERT INTO $tbl_name (cardno, comp, firno, compdate) VALUES ('$CardNo', '$Reason', '$Fir',CURDATE())"; 
mysql_query($sql); 

私はこれを試しましたが、最初に挿入したレコードのみを表示しました。

+2

一つの可能​​な欠点は、時間の期間にわたって2件の苦情を提出することにより、人々はあなたのサイトが取得するどのように多くの苦情見ることができるということです。 –

答えて

4

mysql_insert_id()はまたmysql_insert_id()ことを言及する価値がある最後のクエリ

から自動インクリメントIDを返します。しかし、MySQLを忘れて、20世紀に移動し、mysqliを使用する(あるいは21世紀に及びPDOを使用)

+1

+1ですが、http://php.net/manual/en/pdo.lastinsertid.phpを使用することには言及する価値があります。 –

+0

PDOはそれが現代であるとは言いません。個人的に私はいくつかの抽象化ライブラリを構築するmysqliを好むでしょう。 –

+0

@ Col.Shrapnel:私は、mysqliとPDOの両方をサポートするZend FrameworkのDBコンポーネント用のコードをたくさん書いています。その経験を持って、私はPDOを大いに好む。 –

1

(mysql拡張の場合)および$mysqli->insert_id(mysqliの場合)は、ネイティブMySQL関数LAST_INSERT_IDのラッパーです。だから、あなたもこの方法でそれを使用することができます公に自動インクリメントIDを使用する

SELECT LAST_INSERT_ID(); // select last generated auto increment id 
関連する問題