PHP函数没有';t按应有的方式递增int
在我的XAMPP服务器上,phpMyAdmin上有一个数据库表。在该表中,我有几个列,其中一个是PHP函数没有';t按应有的方式递增int,php,Php,在我的XAMPP服务器上,phpMyAdmin上有一个数据库表。在该表中,我有几个列,其中一个是idcolumn(Integer) 我想获取最新添加的项的ID,将其递增1,然后将其分配给函数添加到表中的新项 问题是,每当有一个新项目时,它都会自动被分配1作为id,而1以上的任何内容都不会被分配 $sql = "SELECT * FROM items"; $result = $conn->query($sql); if ($result->num_rows > 0) {
id
column(Integer)
我想获取最新添加的项的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;
}
在我看来,您需要在MySQL数据库中构建众所周知的自动增量功能。只需在表的数据库架构中定义该列为自动增量列类型,并且在每次向表中插入新内容时,该列将自动递增1。这将为您提供最后一个增量Id
$sql = "SELECT id FROM items order by id DESC LIMIT 0,1";
然后,您不希望有一个while循环来查找最后一个增量Id
$sql = "SELECT id FROM items order by id DESC LIMIT 0,1";
说什么?和mysqli\u错误($conn)
--弗雷德二世-
- Fred-ii的上述请求总结起来,如果您的
返回零或不是数字(->num_rows
),那么您有一个SQL错误,因此您需要检查,并检查您的false
- 您是否已使用
开始会话会话\u start
- 您是否希望第一个
调用时不带括号,只执行下面的一行,else
$\u SESSION[“id”]=$\u SESSION[“id”]+1代码>
mysqli\u error($conn)
?这整件事对我来说似乎是个错误是的,但我还需要函数本身的id来进行进一步的操作。ok,你可以通过mysqli->insert\u id()