gpt4 book ai didi

php - 从数据库中检索字符串值中指定类别的最后一个 ID

转载 作者:行者123 更新时间:2023-11-29 19:29:40 24 4
gpt4 key购买 nike

我正在尝试从数据库中检索最后一个 ID 并将其加一。我的问题是我无法在特定类别中检索它。例如,我有字符串值为 A、B 和 C 的类别。字符串值为 A 的类别将仅返回从 1 开始的 id,如 10001、10002,最后检索的 ID 是 10002 加 1,这样显示的ID为10003。类别“B”将返回 20002,类别“C”将返回 30002。这是我的代码:

 <?php

$con = mysql_connect("server","username","password","db_name") or die (mysql_error());

mysql_select_db($con, 'db_name');
$sql = "Select `id` from `tbl_violation` WHERE `category` = 'A' ORDER BY `category` DESC LIMIT 1";

$result = mysql_query ($sql,$con);

while($row = mysql_fetch_array($result, $con))
{
$i = $row['id'];
$i++;
echo "DLR - " .$i;
}
?>

错误是这样的:

警告:mysql_fetch_array() 期望参数 1 为资源, bool 值在...中给出

注意: undefined variable :i in ...

最佳答案

首先,我必须再说一遍......远离 mysql_connect() 和所有其他 mysql_* 函数。如果您想要一个简单的修复,只需将其替换为 mysqli_ 函数并确保转义所有用户提供的输入。 A bit of reading但我建议查看PDO .

顺便说一句,你的 MYSQL 问题很简单。您想要对元素进行分组,以便将具有相同类别列的所有行分组在一起,然后为每个组选择最大值。那么你的 SQL 将是:

SELECT category, MAX(id) AS highest_id FROM tbl_violation GROUP BY category;

看到这个fiddle我用类似的 table 做了。

然后您可以像现在一样访问从 mysqli_query 函数获得的结果...

 while($row = mysqli_fetch_array($result, $con))
{
$i = $row['highest_id'];
$i++;
$category = $row['category'];
echo "$category - $i";
}

关于php - 从数据库中检索字符串值中指定类别的最后一个 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41885325/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com