MySQLi - > insert_id无法返回值

时间:2014-05-12 12:47:18

标签: php

我有这个问题:

我查询,没有错误,数据写入数据库。

当我试图获得" insert_id"没有数据返回...但如果我做了" echo"功能,写下值。

代码:

$insert_id = (int)$this -> conn -> insert_id;
echo '#'.$this -> conn -> insert_id.'#';
print_r($this -> conn);
die($insert_id);

结果:

#12#
mysqli Object
(
    [affected_rows] => 1
    ...
    [connect_errno] => 0
    [connect_error] => 
    [errno] => 0
    [error] => 
    [field_count] => 0
    ...
    [info] => 
    [insert_id] => 12
    ...
)

为什么我无法从" $ insert_id =(int)$ this - >获取ID conn - > INSERT_ID;"这!?

谢谢!

2 个答案:

答案 0 :(得分:3)

这确实是一个有趣的问题。

您需要阅读 die()的手册页以获得答案:

  

状态
  如果status是一个字符串,则此函数在退出之前打印状态。

     

如果status是一个整数,该值将用作退出状态而不打印。退出状态应在0到254范围内,退出状态255由PHP保留,并且不被使用。状态0用于成功终止程序。

答案 1 :(得分:-1)

尝试mysqli_insert_id() - $conn->insert_id

手动:http://www.php.net/manual/en/mysqli.insert-id.php