2012-01-29 94 views
0

如何在插入数据库示例后获取自动递增字段。如果投诉已注册并且投诉ID应显示给用户。如何获取自动递增字段

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

我试过这个,但是它只显示第一个插入的记录。

+2

一个可能的缺点使用自动递增ID公开的是,通过提交投诉2在一段时间内,人们可以看到你的网站有多少投诉得到。 – 2012-01-29 17:45:17

回答

4

mysql_insert_id()返回上一次查询

却忘记了MySQL的自动增量ID,进入20世纪,并使用mysqli(甚至是进入21世纪,并使用PDO

+1

+1,但值得一提的是你会使用http://php.net/manual/en/pdo.lastinsertid.php。 – 2012-01-29 18:02:17

+0

我不会说PDO是现代的。我个人更喜欢mysqli来建立一些抽象库。 – 2012-01-29 18:40:24

+0

@ Col.Shrapnel:我为Zend Framework的数据库组件编写了很多代码,它支持mysqli和PDO。有了这样的经历,我非常喜欢PDO。 – 2012-02-02 03:52:22

1

另外值得一提的是,mysql_insert_id() (用于mysql扩展)和$mysqli->insert_id(用于mysqli)是本机MySQL函数LAST_INSERT_ID的包装。所以,你也可以以这种方式使用它:

SELECT LAST_INSERT_ID(); // select last generated auto increment id