PHP / MySQL插入行然后得到该行的id

时间:2017-07-27
PHP / MySQL插入行时,表格的“id”字段会自动增加。我想插入一行然后获取该ID。该如何实现呢?

实现方法:

试试这样你就可以得到答案:

<?php
$con=mysqli_connect("localhost","root","","new");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

mysqli_query($con,"INSERT INTO new values('nameuser','2015-09-12')");

// Print auto-generated id
echo "New record has id: " . mysqli_insert_id($con);

mysqli_close($con);
?>

看看以下链接:

http://www.w3schools.com/php/func_mysqli_insert_id.asp

http://php.net/manual/en/function.mysql-insert-id.php

另请注意,此扩展在PHP 5.5中已弃用,在PHP 7.0中已删除。

那么如何在PHP 5.5及以上版本获取新行id呢?

我们可以使用PDO。要使用PDO执行此操作,请执行以下操作:

$db = new PDO('mysql:dbname=database;host=localhost', 'user', 'pass');
$statement = $db->prepare('INSERT INTO people(name, city) VALUES(:name, :city)');
$statement->execute( array(':name' => 'Bob', ':city' => 'Montreal') );

echo $db->lastInsertId();