我有一个创建课程的功能。我正在尝试获取最后插入 ID,但它不起作用:
public function createCourse()
{
require "/mysqli_connect.php";
$course_q = "INSERT INTO course (....) VALUES (.....)";
$course_r = mysqli_query($mysqli, $course_q);
$course_n = mysqli_affected_rows($mysqli);
if($course_n == 1)
{
mysqli_close($mysqli);
return true;
}
mysqli_close($mysqli);
return false;
}
这是检索我在与函数 createCourse 相同的类中创建的最后一个插入 ID 的函数:
public function getLastInsertID()
{
require "/../mysqli_connect.php";
$course_q= "SELECT LAST_INSERT_ID()";
$course_r = mysqli_query($mysqli, $course_q);
$course_n = mysqli_num_rows($course_r);
//var_dump($course_n);
if($course_n)
{
$c = mysqli_fetch_assoc($course_r);
mysqli_close($mysqli);
return $c;
}
mysqli_close($mysqli);
return NULL;
}
这就是我调用函数的方式:
require "/mysqli_connect.php";
$course = new Course();
$c = $course->createCourse();
$id = $course->getLastInsertID();
var_dump($id);
"$id"
总是"int(0)"
我也试过:
require "/mysqli_connect.php";
$course = new Course();
$c = $course->createCourse();
**$id = mysqli_insert_id($mysqli);**
我也试过:
$course_q= "SELECT LAST_INSERT_ID() from course";
但这也行不通。大家能看出是什么问题吗?:( 函数 createCourse 本身很好。它创建了我需要的内容,并且它在数据库中,但我无法获得最后一个插入 ID。