无法在php中输出最后一个自动生成的ID

时间:2019-04-05 02:43:58

标签: php mysql

我正在尝试输出要添加到表中的项目的插入ID。

我尝试使用$ result-> insert_ID来获取自动生成的ID,但是它根本不起作用。

<?php
require_once 'login.php' ; //my log file
$conn = new mysqli($hn, $un, $pw, $db) ; 
if ($conn->connect_error) die($conn-> connect_error);

$table = "cats"; //table we get data from

$query = "INSERT INTO $table VALUES(NULL, 'Lynx', 'Stumpy', 5)"; //this is the item we're inserting
$result = $conn ->query($query); //stores output of query into $result
$insertID = $result-> insert_ID; //should retrieve last auto-gen ID
if (!$result) die("Database access failed: " . $conn->error); 

echo "The Insert ID was: " . $insertID ; //should print "The Insert ID was: ##"
?>

相反,它仅显示“插入ID为:”。这是我从Robin Nixon的《学习PHP,MYSQL和JavaScript》一书中得到的示例。我什至尝试将他的示例复制并粘贴到eclipse中,以查看我是否仅在某处出现语法错误,但是他的代码产生了相同的输出。

1 个答案:

答案 0 :(得分:0)

我实际上只是想通了。 insert_id是mysqli对象的属性,因此

$insertID = $conn->insert_id

实际上是检索ID。