在我的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;
}
答案 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;
?