[英]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.