首页 > 解决方案 > 我需要修复我的 mysql 查询以在我的 HTML 页面中显示一些内容

问题描述

这行代码无法获取数据库中的查询,并且内容无法显示在我的页面中,我删除了内容并在 php 中进行了更改,但它不会显示 echo 中的行。

    $q = "SELECT * FROM tblmessage INNER JOIN tblusers ON tblmessage.userid=tblusers.userid WHERE userid=$user_id ORDER BY date_time DESC";
    $r = mysqli_query($con, $q);
    if($r)
    {
        while($row = mysqli_fetch_assoc($r))
        {
            $db_id = $row['userid'];
            $sender = $row['sender_name'];
            $receiver = $row['receiver_name'];
            $message = $row['message_text'];

            if($db_id == $user_id)
            {
                echo"
                <div class='grey-message'>
                    <a href=''>Me</a>
                    <p> $message;  </p>
                </div>";            

            }
            else
            {
                echo"
                <div class='white-message'>
                    <a href=''> $sender;</a>
                    <p> $message; </p>
                </div>";


            }
        }
    }
    else
        echo $q;

标签: phpmysql

解决方案


我们可以准确地看到表列名...或者您应该在查询中为每一列添加表别名..

$q = "SELECT * FROM tblmessage 
        INNER JOIN tblusers ON tblmessage.userid=tblusers.userid 
    WHERE tblmessage.userid=$user_id 
    ORDER BY tblmessage.date_time DESC";
$r = mysqli_query($con, $q);
if($r)
{
    while($row = mysqli_fetch_assoc($r))
    {
        $db_id = $row['userid'];
        $sender = $row['sender_name'];
        $receiver = $row['receiver_name'];
        $message = $row['message_text'];

        if($db_id == $user_id)
        {
            echo"
            <div class='grey-message'>
                <a href=''>Me</a>
                <p> $message;  </p>
            </div>";            

        }
        else
        {
            echo"
            <div class='white-message'>
                <a href=''> $sender;</a>
                <p> $message; </p>
            </div>";


        }
    }
}
else
    echo $q;

推荐阅读