簡體   English   中英

在 mysql 的 fetch 行中返回一個值

[英]return one value in fetch row in mysql

我有一個返回的獲取行查詢

10 9 8 7 6 5 4 3 2 1

但是,我只想返回最后一個值,在這種情況下為“1”。

我試圖做echo row[0][9]但它不起作用。 我如何獲得最后一個值?

你可以使用end() function

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

看看@這個例子。 這里復制。 通過查看上面的示例,您應該能夠實現您想要的。

如果你知道列索引是什么,你對 go 就好了。 但是,如果您總是想要最后一列,請查看mysql_num_fields function。

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

不過,自從我完成 PHP 以來已經有一段時間了,YMMV。

您必須按DESC關鍵字對表格進行排序。

我會在 MySQL 方面做這一切,所以你不要在 PHP 和 MySQL 之間分割邏輯太多(如果這適用於這種情況,ASC1 和 ORDER 表ORDER BY DESC DES)並使用查詢與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;
}

這將返回一行中的值。 我如何僅訪問最后一行中的值?

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM