mysql - 从 MySQL 表中的列获取最大值,将值增加 1 并传递给变量

标签 mysql pdo prepared-statement max

我正在使用下面的查询来提取 MySQL 表中名为 id 的列的最大值,以便我可以将其值增加 1 并将其传递给名为 $fav_id 的变量。由于某种原因 $fav_id 返回“0”,而不是我想要的值,即如果 id 列中的最大当前值为 465,则 $fav_id 应设置为 466。也许有人可以让我知道我要去哪里错了。

$sth2 = $pdo->prepare("SELECT MAX(id) AS id FROM tracks");

$sth2->setFetchMode(PDO::FETCH_OBJ);

while($row = $sth2->fetch()) {
    $fav_id = $row->id+1;
}

最佳答案

尝试将 $row->id+1 括在括号中,例如 ($row->id)+1,并留意范围。您可能希望在 while 循环之外将 $fav_id 设置为 0,以使其具有比 while 循环更大的作用域。

关于mysql - 从 MySQL 表中的列获取最大值,将值增加 1 并传递给变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11991752/

相关文章:

javascript - 在 php 中将变量增加 1 将变量值更改为 1

MySQL 无法添加行 : foreign key constraint fails

mysql - 选择满足多个条件的mySQL索引

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

php - 在 WHERE 原因中合并两个字符串记录

php - 可恢复的 fatal error : Object of class PDOStatement could not be converted to string in - index. php 第 23 行

php - 使用 PHP PDO 准备语句和 MySQL 选择字段为空的行

php - 为什么 php-pdo 不插入值

php - 我什么时候应该使用准备好的语句?

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?