您好我有將數據插入一個MySQL表(A)形式(X)和比重定向到另一形式(Y),這將數據插入到另一個表(B),但我需要使用表A的最後插入的行。
我知道我可以從使用mysqli_insert_id
函數得到它,但是當我提交表單Y並重新顯示錶單Y時,由於$ID
的值已被清零,所以已經搞亂了。我試圖通過這樣做來輸入id的值。
$id = (int)mysqli_insert_id($link);
但這根本沒有幫助。
您好我有將數據插入一個MySQL表(A)形式(X)和比重定向到另一形式(Y),這將數據插入到另一個表(B),但我需要使用表A的最後插入的行。
我知道我可以從使用mysqli_insert_id
函數得到它,但是當我提交表單Y並重新顯示錶單Y時,由於$ID
的值已被清零,所以已經搞亂了。我試圖通過這樣做來輸入id的值。
$id = (int)mysqli_insert_id($link);
但這根本沒有幫助。
你可以使用會話來存儲,而你正在處理的形式X的值,然後可以通過形式Y.拾起
X:
session_start();
$_SESSION['insert_id'] = 42;
Y:
session_start();
$insert_id = $_SESSION['insert_id']; // 42
請參閱the manual瞭解如何在完成該操作後銷燬會話的示例。
你必須從形式之間mysqli_insert_id堅持的結果,無論是通過cookie,會話或隱藏的投入。
由於mysqli_insert_id只會返回它所調用的連接實例,而不是整個數據庫,因此當您切換到另一個表單時,原始連接將關閉,並打開一個新連接,該連接尚未插入任何標識(因此爲空值)。
我會親自去與會話,但是這一切都取決於您的安全要求。
以及我的安全不是一個大問題,這是對庫存的要求非常簡單的內部形式。它的所有一個控制器索引類只包含基於3個提交值的表單。我認爲只有一個數據庫連接是由索引類創建的,因爲我把連接信息放在一個單獨的文件中,並且對它做了include_once'db.php'。我是新來的PHP,並沒有學習cookie或會話尚未....... – cferbs 2010-09-30 21:39:16
謝謝我會看看會議。 – cferbs 2010-09-30 21:45:09
如果有多個表單提交,則會有多個連接。雖然你通過相同的細節連接,但它不是同一個連接實例,就像兩個相同的巧克力棒。如果你吃一個,那麼第二個可能是同一個巧克力棒類型,但不是完全相同的巧克力棒(第一個已經消失,從未被檢索到)。 – Psytronic 2010-09-30 21:46:23
謝謝,我馬上去會議 – cferbs 2010-09-30 21:45:37