繁体   English   中英

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

[英]Get last entry in MYSQL database table using PHP

我知道这个问题已经在这里多次提出,但是每个问题都有点不同。

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

我的脚本几乎是我尝试创建的非常基本的时间表,当用户访问脚本时会设置user_idfirstnamelastnames 因此,我需要做的是检查该用户的最后一个评论单元,以查看该评论是“输入”还是“输出”。

每当我尝试建立查询并检查该用户字段中的最后一条注释是输入还是输出时,我都访问我的脚本,但它不打印注释,这是我做错了什么?

$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';

    } 

几个注意事项:

我已连接到数据库并获得一个简单的查询即可工作。 userid会话已设置。 在问这个问题之前,我先看过这里这里的答案。

这是$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');

您应该已经看到未定义的索引comment

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM