在mysql的fetch行中返回一个值

时间:2011-04-30 08:26:32

标签: php mysql row fetch

我有一个返回

的获取行查询

10 9 8 7 6 5 4 3 2 1

但是,我只想返回最后一个值,在这种情况下为“1”。

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

7 个答案:

答案 0 :(得分:1)

您可以使用end()功能

$row = array(10, 9, 8, 7);
echo end($row); // displays 7

答案 1 :(得分:0)

<?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
?>

看看这个例子。复制自here。通过查看上面的示例,您应该能够达到您想要的效果。

如果您知道列索引是什么,那么您很高兴。但是,如果您总是想要最后一列,请查看mysql_num_fields函数。

答案 2 :(得分:0)

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

虽然我已经完成了PHP,YMMV。

答案 3 :(得分:0)

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

答案 4 :(得分:0)

我会在MySQL方面做这一切,所以你不要过多地在PHP和MySQL之间拆分逻辑(如果这适用于这种情况)并使用查询LIMIT 1ORDER BY DESC (或ASC,取决于你的桌子)。

答案 5 :(得分:0)

答案 6 :(得分:0)

您只想要添加到表中的第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