Php 显示数据库中最后两秒的值

Php 显示数据库中最后两秒的值,php,mysql,database,Php,Mysql,Database,早上好 我正在使用php MySQL将学生分数存储在数据库中 我的数据库表是这样的 25 63 96 85 65 56 56 96 36 23 56 78 98 45 12 现在我正试图显示数据库表中的最后两个值,并希望在我的网站上的任何其他地方显示 我正在使用下面的代码 <?php $q = "SELECT CONCAT (a) FROM record ORDER BY id DESC LIMIT 1;"; $result = mysql_query($

早上好

我正在使用php MySQL将学生分数存储在数据库中

我的数据库表是这样的

25 63 96 85 65
56 56 96 36 23
56 78 98 45 12
现在我正试图显示数据库表中的最后两个值,并希望在我的网站上的任何其他地方显示

我正在使用下面的代码

<?php

     $q = "SELECT CONCAT (a) FROM record ORDER BY id DESC
     LIMIT 1;";
     $result = mysql_query($q);
     $data = mysql_fetch_array($result);

     echo $data[0];
?>

上述代码仅显示上一个值…即表中所示的12

我想显示上面表格中的45和12,如下所示

25 63 96 85 65
56 56 96 36 23
56 78 98 45 12
{45}==>{12}

有人能纠正我的代码吗

谢谢…

正如评论中所指出的,mysql_*函数已被弃用。最好使用PDO或mysqli_*函数,因为它们将在将来得到支持

我一开始就提到它,因为它对安全和持续支持都非常重要

也就是说,为了得到你想要的结果,你需要做两件事。首先,您的查询必须返回超过1个值,因此必须按照指出的那样增加限制,然后必须显示两个值,而不仅仅是返回值列表中的第一个值(这就是
$data[0]
现在正在做的事情-只返回数组中的第一项)

试着这样做:

<?php

$q = "SELECT CONCAT (a) FROM record ORDER BY id DESC
LIMIT 2;";
$result = mysql_query($q);
$data = mysql_fetch_array($result);

echo "{" . $data[1] . "}==>{" . $data[0] . "}"; //prints: "{45}==>{12}"
?>
如果不确定数组中是否存在键,则可以使用
empty
函数,该函数检查键是否已设置(
isset
),以及它是否具有非假值

if (empty($data[0] == false) {
    echo $data[0];
}

if (empty($data[1] == false) {
    echo $data[1];
}
文件:

  • PDO
    文档:
  • mysqli.*
    文档:
  • 内爆
    文档:
  • isset
    文档:
  • empty
    文档:
$query=“按id DESC从记录顺序中选择CONCAT(a) 限制2”


按描述排序限制2从数据库中获取最后两条记录。

Um,
Limit 2
。不要使用
mysql.*
方法,因为它们已被弃用,并且存在严重的安全漏洞;但它仍然只显示最后一个值。。。