使用mysqli_insert_id创建新ID并存储在会话中

时间:2015-06-11 09:11:14

标签: php mysqli

此前工作正常,现在却没有。我会尽力解释这个问题。

我正在创建一个网站,人们可以在这里发布他们想要出售的马匹的广告,或者借用 - 如果他们正在寻找特定的马,人们也可以发帖。 我在发布广告后使用此代码创建新ID,因为广告发布后,会将其带到可以上传图片的页面。这部分代码无效。

        if ($conn->query($sql)) {

        // echo "New Record has id ".$conn->mysqli_insert_id;

        $_SESSION['hid'] = $conn->mysqli_insert_id;

$ conn是我在连接数据库时使用的变量,所以没有问题。没有ID正在生成,但昨天它很好,从那以后没有任何改变。任何提示或任何我可能做错的事情?

1 个答案:

答案 0 :(得分:1)

您已在$conn变量中为连接创建了一个对象。 这意味着您采用面向对象的方法而不是程序方法。然后使用mysqli_insert_id这是一个程序函数。

您有两种选择:

<强> 1。面向对象的方法
使用insert_id作为$conn的属性。

$_SESSION['hid'] = $conn->insert_id;

<强> 2。程序方法
如果没有创建对象,则使用过程函数mysqli_insert_id

mysqli_insert_id($conn); 

阅读手册mysqli_insert_id

更多信息:Object-Oriented Programming vs. Procedural Programming