我的脚本采用包含人员详细信息的CSV文件,并使用“INSERT INTO table”将它们输入到mySQL数据库表中。表的主键是它们的ID号,每次插入时都会自动递增。
每次插入后我都会有一些PHP在服务器上为它们创建一个目录。目录名是他们自动生成的mySQL ID号。
如何在将详细信息插入数据库后获取自动生成的ID号,以便为每个人创建目录?
答案 0 :(得分:1)
<强> PDO:强>
$last_id = $db->fetchAll('SELECT LAST_INSERT_ID() as last_id');
$last_id = intval($last_id[0]['last_id']);
$lastId = $db->lastInsertId();
答案 1 :(得分:1)
这是一个完整的回滚示例:
<?php
try {
$dbh = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');
$stmt = $dbh->prepare("INSERT INTO test (name, email) VALUES(?,?)");
try {
$dbh->beginTransaction();
$tmt->execute( array('user', 'user@example.com'));
$dbh->commit();
print $dbh->lastInsertId();
} catch(PDOExecption $e) {
$dbh->rollback();
print "Error!: " . $e->getMessage() . "</br>";
}
} catch( PDOExecption $e ) {
print "Error!: " . $e->getMessage() . "</br>";
}
?>
我们使用PDO与数据库进行通信,并知道最后一个id:$ dbh-&gt; lastInsertId()
答案 2 :(得分:-5)
您可以使用mysqli_insert_id函数。