php - 使用 PHP 获取 MYSQL 数据库表中的最后一个条目

标签 php mysql sql database

我知道这个问题在这里被问过多次,但每次都有点不同。

我的数据库中有一个表,其中包含列 entry_id(INT- Auto_Increment)user_id(INT)firstname(VARCHAR) , lastname(VARCHAR)comment(VARCHAR)

我的脚本几乎是我尝试创建的一个非常基本的时间表,user_idfirstnamelastnames 是在用户访问时设置的剧本。所以我需要做的是检查该用户的 last 评论单元格,看看评论是“in”还是“out”。

每当我尝试构建查询并检查该用户字段中的最后一条评论是在还是在外时,我访问我的脚本但它不打印评论,我做错了什么?

$userid = $_SESSION['user_id'];

    $query = mysqli_query($mysqli, "SELECT entry_id, user_id FROM timesheet WHERE user_id = '$userid' ORDER BY entry_id DESC LIMIT 1") or die('Error: ' . mysqli_error($mysqli));

    if(mysqli_num_rows($query)>0){

     while ($row = mysqli_fetch_array($query, MYSQL_ASSOC)) {
        echo '<pre>';
        print_r($row);
        echo '</pre>';

        $clock = $row['comment'];

        echo $clock . ' Last entry';

    } 

一些注意事项:

我已连接到数据库并进行简单查询。 用户标识 session 已设置。 在问这个问题之前,我查看了答案 herehere .

这是 $row 正在打印的内容,请注意评论是空的,尽管我知道我在数据库中有一个值。

Array
(
    [entry_id] => 4
    [user_id] => 3
    [comment] => 
)

最佳答案

正如您在评论中看到的那样,您尝试访问的索引不包含在您查询的索引中,这就是您得不到任何结果的原因。

$userid = $_SESSION['user_id'];
$query = mysqli_query($mysqli, 
    "SELECT 
        entry_id, 
        user_id,

        comment <-- you're trying to access comments, but didn't include that column in the query

        FROM timesheet 

        WHERE user_id = '$userid' ORDER BY entry_id DESC LIMIT 1") 

or die('Error: ' . mysqli_error($mysqli));

if(mysqli_num_rows($query) > 0){

    while ($row = mysqli_fetch_assoc($query)) {

        echo $row['comment'] . ' Last entry <br/>';
    }
}

如果您打开了错误报告:

error_reporting(E_ALL); 
ini_set('display_errors', '1');

你应该看到那个 undefined index comment

关于php - 使用 PHP 获取 MYSQL 数据库表中的最后一个条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25829052/

相关文章:

php - 使用 Symfony 3 cURL 到 DropBox

php - 连接到数据库而不写入警告/错误消息

mysql - 错误 1054:having 子句与 id 分组的子查询连接

mysql - 具有通用字段的大表作为 EAV 和关系表的替代品

MySQL EXPLAIN 没有将索引与 WHERE + ORDER BY(索引的两个部分)一起使用?

sql - PostgreSQL 使用另一列的值更新 JSONB 列

php - Eclipse PDT 自动完成

php - UNIX 日期操作

mysql - SQL 选择不同但详尽的列

mysql - 如何根据其他 2 列选择 1 列的最大值和最小值?