PHP函数不会按原样增加int

时间:2017-02-18 17:58:05

标签: php

在我的XAMPP服务器上,我在phpMyAdmin上有一个数据库表。在该表中,我有几列,其中一列是id列(整数)。

我想获取最新添加的项目ID,将其增加1,然后将其分配给该功能添加到表格中的新项目。

问题在于,只要有新项目,就会自动为其分配1作为ID,不超过1。

$sql = "SELECT * FROM items";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while ($row = $result->fetch_assoc()) {
        if( $_SESSION["increment"] == "yes"){
            $_SESSION["id"] = $row["id"];
        }else
            $_SESSION["id"]=$_SESSION["id"]+1;
    }
} else {
    $_SESSION["id"] = 1;
}

3 个答案:

答案 0 :(得分:0)

在我看来,你需要在MySQL数据库中内置众所周知的AUTO_INCREMENT功能。只需在数据库模式中为您的表定义该列为AUTO_INCREMENT列类型,并在每次新插入表时自动递增1。

答案 1 :(得分:0)

这将为您提供最后一次增量ID。

 $sql = "SELECT id FROM items order by id DESC LIMIT 0,1";

然后你不想要一个while循环来找到最后一个增量Id。

答案 2 :(得分:0)

  

error reporting说什么?和mysqli_error($conn)

- Fred-ii -

  • Fred -ii - 的上述请求总结了一下,如果您的->num_rows返回零或不是一个数字(false),那么您有一个SQL错误,因此您需要检查error logs,并检查database connection

  • 您是否已使用session_start开始会话?

  • 您是否打算在没有括号的情况下调用第一个else,只执行以下单行$_SESSION["id"]=$_SESSION["id"]+1;