在mysql的fetch行返回一个值



我有一个取回行查询返回

10 9 8 7 6 5 4 3 2 1

但是,我只想返回最后一个值,在本例中是"1"。

我试图做echo row[0][9],但它不工作。我怎么得到最后一个值?

可以使用end()函数

$row = array(10, 9, 8, 7);
echo end($row); // displays 7
<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}
$row = mysql_fetch_row($result);
echo $row[0]; // 42
echo $row[1]; // the email value
?>

看一下这个例子。从这里抄的。通过看看上面的例子,您应该能够实现您想要的。

如果你知道列索引是什么,你就可以开始了。但是,如果您总是想要最后一列,请查看mysql_num_fields函数

试试echo explode(' ', $row[0])[9]

我已经有一段时间没有使用PHP了

您必须按DESC关键字对表进行排序。

我会在MySQL端做这一切,所以你不会在PHP和MySQL之间分割太多的逻辑(如果在这种情况下适用),并使用LIMIT 1ORDER BY DESC(或ASC,取决于你的表)查询

您只需要添加到表中的最后第10行?如果按id降序排序,这将是列表中的第10个id。如果这是你想要的,你也可以告诉MySQL返回那一行。查询变得更加复杂:

SELECT t1.*
FROM table t1
INNER JOIN (
  SELECT id
  FROM table
  ORDER BY id DESC
  LIMIT 10
) t2 ON t1.id = t2.id
ORDER BY t1.id ASC
LIMIT 1

这是我的代码。

$query="SELECT blog_id FROM myblogs_view where blog_id<'$id' ORDER BY blog_id DESC LIMIT 10";
$result=mysql_query($query);
while($row=mysql_fetch_row($result) or die(mysql_error())) {
    echo $row;
}

返回一行中的值。如何仅访问最后一行中的值?

相关内容

  • 没有找到相关文章

最新更新