2017-05-05 52 views
0

位的背景下,我正在一個網站上,允許用戶填寫表格,他們上傳產品作爲廣告的網站,有點像gumtree。我試圖讓我的數據庫從上傳中獲取會話ID,以便可以從表單中獲取所有填入的內容,而我遇到的問題是它沒有獲取產品ID,它在窗口底部顯示網址與「ID = 0」在最後,任何人有任何理由說爲什麼這樣說?數據庫沒有捕捉任何東西在PHP文件

$post_id = mysqli_insert_id($conn); 
$msg = "Your add has been posted successfully. View it here <a href=\"product.php?id={$post_id}\">here.</a>"; 

現在這就是我在頂部包含的數據庫文件的內容;

<?php 
$conn = new mysqli("localhost","Team7","mBSrfZk2","team7") or  die("Could not connect to server: " . mysqli_error($conn)); 
?> 

回答

1

根據文檔mysqli_insert_id()函數返回「0」,如果沒有更新或沒有AUTO_INCREMENT字段。請檢查你的表是否有auto_increment文件。

的mysqli_insert_id()函數返回一個表由查詢 (通常INSERT)生成的ID與具有AUTO_INCREMENT 屬性的列。如果沒有通過此連接發送INSERT或UPDATE語句,或者修改後的表中沒有包含 AUTO_INCREMENT屬性的列,則此函數將返回零。

你可以找到一個詳細的解答here

+0

剛纔檢查表在mysql表,它具有AUTO_INCREMENT屬性已經 – JackD

+0

下面是如何使用mysqli_insert_id()[link](https://www.w3schools.com/php/func_mysqli_insert_id.asp)的一個很好的例子。它需要在嘗試抓取插入ID之前執行插入。在你的代碼描述中你沒有添加插入部分。 – Sinha