在php中使用mysql_insert_id()获取最后一个自动生成的id

时间:2017-05-09 17:22:45

标签: php

我正在尝试使用mysql_insert_ID函数从客户表中获取最后一个自动递增的客户ID,并将其存储在名为lastid的变量中,并尝试使用另一个页面上的会话发送lastid变量并将其打印在那里它不会给任何输出或错误

3 个答案:

答案 0 :(得分:0)

//---page1.php
// Start a session to be able to store SESSION variables.
session_start();

// Your connection to Database
$conn = new mysqli("localhost", "my_user", "my_password", "world");

// Your insert query
$insert_query = "INSERT INTO customers .....";

// Query the database
$conn->query( $insert_query );

// STORE Last_inserted_id into $lastid and $_SESSION
$_SESSION['lastid'] = $lastid = $conn->insert_id;


//---page2.php
// Start a session to be able to use SESSION variables in the new page.
session_start();

// Get value from $_SESSION
echo $_SESSION['lastid'];

取自文档$insert_idsession_start()

答案 1 :(得分:-2)

如果您想使用PDO

PDO是实现此目的的一种方法,那么您可以按照以下步骤操作:

成功查询后,只需使用lastInsertId实例{/ 1}}方法:

PDO

有关$lastId = $pdo->lastInsertId(); //This variable will store last insert ID 方法的详细信息,请查看此官方文档PHP Last Insert Id

如果您认为最适合使用lastInsertId()那么

只需在成功查询后,就可以这样做:

mysqli

您可以按照此stackoverflow问题:Follow This

答案 2 :(得分:-2)

由于你熟悉mysql,在这种情况下使用mysqli ......

$sql = "SELECT max(id) as max FROM table";

从那里:

$result = $conn->query($sql);
$row = $result->fetch_assoc();
$maxID = $row['max']

如果你想留在mysql_

$sql = "SELECT max(id) as max FROM table";

从那里:

$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
$maxID = $row['max']