【问题标题】:PHP MYSQL CONCERN: Cannot fetch database information using $resultDetails->fetch_assocPHP MYSQL 问题:无法使用 $resultDetails->fetch_assoc 获取数据库信息
【发布时间】:2020-03-24 22:27:31
【问题描述】:

我不知道为什么我不能在我的 IF 语句中访问我的 WHILE 子句。我只是想从我的数据库中获取信息。我成功连接到我的数据库,因为我在 if 语句下得到了 echo 语句。请帮忙。卡了好久

<?php
    require './db.php';
    $sqlDetails = "SELECT * FROM chat WHERE created >= '{$_SESSION["time"]}' ORDER BY created asc";


    if($resultDetails = $conn->query($sqlDetails)) {
        echo "success entry to db";
        while($row = $resultDetails->fetch_assoc())  {
            echo "success fetch to db";

            echo "<script>console.log('insideWhile!!')</script>";

            $chatName = $row['username'];
            $chatMessage = $row['messages'];
            $chatfrom = $row['cfrom'];
            $chatTime = $row['created'];
            $chatId = $row['cid'];

            $sample .= '<tr>
            <th scope="row">'.$chatName.'</th>
            <td>'.$chatMessage.'</td>
            <td>'.$chatTime.'</td>
            </tr>';
        }
    }
    else {
        echo "Error: " . $sql . "<br>" . $conn->error;
   }

    $conn->close();

?>

【问题讨论】:

  • 在你的 if 语句中,如果你 var_dump($resultDetails) 结果是什么?
  • 我试过了,这就是我得到的结果:成功进入 dbobject(mysqli_result)#2 (5) { ["current_field"]=> int(0) ["field_count"]=> int( 5) ["lengths"]=> NULL ["num_rows"]=> int(0) ["type"]=> int(0) } 等待...
  • 如果在数据库中运行 SQL 查询,有结果吗?显然用实际值替换变量(var_dump 变量所以你得到一个准确的结果)。
  • 我现在就试试。自我学习和新来的,所以我很感激你的回应!谢谢
  • 出了什么问题?

标签: php mysql database conditional-statements


【解决方案1】:

您的 SQL 查询中的变量不包含您期望的信息。

echo $sqlDetails;

您会发现$_SESSION["time"] 不正确。

【讨论】:

    猜你喜欢
    • 2021-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-19
    • 2023-03-04
    • 1970-01-01
    相关资源
    最近更新 更多