php mysqli_insert_id($ link)convert / retain

时间:2010-09-30 21:28:08

标签: php mysql html

我有一个表单(X)将数据插入mysql表(A),然后重定向到另一个表单(Y),它将数据插入另一个表(B)但我需要使用表A的最后一个插入行。

我知道我可以使用mysqli_insert_id函数来获取它,但是当我提交到表单Y并重新显示表单时,Y会因为$ID值为空而混乱。我试图通过这样做来输入转换id的值。

$id = (int)mysqli_insert_id($link);

但这根本没有帮助。

2 个答案:

答案 0 :(得分:2)

您必须通过Cookie,会话或隐藏输入在表单之间保留mysqli_insert_id的结果。

由于mysqli_insert_id只会返回它被调用的连接实例而不是整个数据库,当你转移到另一个表单时,原始连接将关闭,一个新的连接打开,没有插入任何id(因此,空值)。

我个人会参加会议,但这完全取决于您的安全要求。

答案 1 :(得分:1)

您可以在处理表单X时使用会话来存储值,然后可以通过表单Y来处理。

X:

session_start();
$_SESSION['insert_id'] = 42;

Y:

session_start();
$insert_id = $_SESSION['insert_id']; // 42

有关如何在完成会话后销毁会话的示例,请参阅the manual