【发布时间】:2012-03-29 18:49:38
【问题描述】:
我有一个创建课程的函数。我正在尝试获取最后插入 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。
【问题讨论】:
-
做一个
var_dump($mysqli)并在这里发帖 -
你关闭了mysql结果资源,才可以用于getLastInsertID,可能是这个原因。
-
我认为您与 mysqli 的链接为空..
-
其中一篇文章回答了您的问题吗?如果是这样,您是否可以接受它以使未来的访客受益?谢谢! (见How do I ask a question here?。)
标签: php mysqli last-insert-id