如何使用PHP增加一个唯一的收据编号,并在mysql数据库中更新它?
我试图增加一个收据编号,并将新的收据编号添加到mysql数据库中 以下是我编写的代码:如何使用PHP增加一个唯一的收据编号,并在mysql数据库中更新它?,php,Php,我试图增加一个收据编号,并将新的收据编号添加到mysql数据库中 以下是我编写的代码: <?php require 'config.php'; $sql = "SELECT * FROM receipts ORDER BY id"; $result = $conn->query($sql); $row = $result->fetch_assoc(); $date = date("ymdhs"); $row2 = $row['i
<?php
require 'config.php';
$sql = "SELECT * FROM receipts ORDER BY id";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
$date = date("ymdhs");
$row2 = $row['id'];
$recnum = $date.'-00'.($row2+);
echo $recnum ;
$sql = "UPDATE receipts SET recnum='$recnum' WHERE id='$row2'";
if ($conn->query($sql) === TRUE) {
echo "updated";
} else {
echo "Error updating record: " . $conn->error;
}
$conn->close();
?>
在select查询中未指定顺序。因此,除非使用ORDERBY子句查询数据,否则RDBMS不能保证数据将以特定顺序返回,甚至是以一致的顺序返回。
如果要依赖此订单,必须使用order BY指定所需的订单。
“$row2+”不会增加$row2,请使用(+++$row2)-加号应该在变量之前-取而代之。我已成功调试了代码。
这是工作代码
<?php
require 'config.php';
$sql = "SELECT * FROM receipts ORDER BY id DESC LIMIT 1";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
$date = date("ymdhs");
$row2 = $row['id'];
$recnum = $date.'-00'.$row2;
echo $recnum ;
$sql = "UPDATE receipts SET recnum='$recnum' WHERE id='$row2'";
if ($conn->query($sql) === TRUE) {
echo "";
} else {
echo "Error updating record: " . $conn->error;
}
$conn->close();
?>
那么您遇到了什么问题?不是递增的请解释您在问题中遇到了什么问题。能否在数据库中将id数据类型设置为自动递增?