为什么mysqli_insert_id会给我0

时间:2013-02-11 14:15:43

标签: php mysql

我实际上在这里读了一个答案,用户说当你的表没有任何autoincrement列但是已经有了这个时,会发生这种情况,另一个是没有建立连接,但是当我使用这个时

if(!$running_db) {
    echo 'False';
} else {
    echo 'true'; //Returns me true so connection is establised
}

为什么要归还给我0?实际上我在page.php上插入并且在成功插入用户之后被重定向到result.php页面,在那里我使用mysqli_insert_id回显id,这样我可以突出显示该字段但它返回0并且因此,表格行无法突出显示

P.S Am使用程序方式

2 个答案:

答案 0 :(得分:2)

当您重定向到新脚本时,您会丢失该信息。在没有看到您的代码的情况下,我可以建议的是在mysqli_insert_id脚本中重新设置page.php,将其保存在SESSION变量中,然后重定向到result.php,在那里检查SESSION变量并查找保存的ID。

答案 1 :(得分:2)

请注意php手册:

http://php.net/manual/en/function.mysql-insert-id.php

“因为mysql_insert_id()作用于上次执行的查询,所以请务必在生成值的查询后立即调用mysql_insert_id()。”

在同一页面上检索该值,将其置于会话中,然后从任何其他页面上的会话变量中访问该值。