php - 需要在表中的列中找到最大值并递增

标签 php mysql

我是 php 的初学者,所以请保持温柔......:-) 我一直在寻找答案,但我一次又一次地遇到同样的错误。我找不到错误,这让我抓狂!

$query = "SELECT position FROM pages WHERE subject_id = '$subject_id' ORDER BY position DESC LIMIT 1";
$bla = mysql_query($query, $connection);
$position = $bla[0];
$position += 1;

好的,上面的代码在我的页面的顶部。据我了解,这应该执行以下操作:从表 'pages' 中获取名为 'position' 的列,其中 'subject_id' 与我传递的 subject_id 匹配,然后对其进行排序并选择 1 个值(这将是最高的)。所以我现在有 1 列和 1 个值。然后,我获取该值,将其放入“位置”,并将其递增 1。

但我得到的错误是:“列数与第 1 行的值数不匹配” 再一次,我是初学者(我习惯了另一种语言),所以这可能是我忘记/做错的小而愚蠢的事情..任何人都可以帮助我吗?

最佳答案

mysql_query() 返回一个语句句柄,而不是你想要的数据。您必须先获取一行:

$bla = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_row($bla);
$position = $row[0] + 1;

关于php - 需要在表中的列中找到最大值并递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11905239/

相关文章:

php - 以 HTML 形式出现的数据直接在模式窗口中回显,但不显示在 PDF 中

php - 在插入 ERROR 之前检查记录是否已经存在

java - 如何使用 hibernate 增加数据库中的计数?

mysql - 与记录的各个字段的多对多关系

mysql - 如何找出数据库中占用内存最大的表?

php - 从命令行运行 PHP 脚本时出现入口点错误

PhpStorm:无法评估表达式 '$_SERVER[' SERVER_PORT']'

php - 替代动态 JavaScript 的 Smarty {literal} 标签

python - MySQL连接器

MySQL 加入 3 个表