数据库没有捕捉任何东西在PHP文件

问题描述:

位的背景下,我正在一个网站上,允许用户填写表格,他们上传产品作为广告的网站,有点像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)); 
?> 

根据文档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

你试图把连接的ressource到mysqli_insert_id 可能不行......你需要首先创建一个有效的SQL插入获得工作的ressource回来......

这里是如何将数据插入一个很好的例子: https://www.w3schools.com/php/php_mysql_insert.asp