PHP - 不回显数据

时间:2016-10-15 17:31:09

标签: php mysql

我正在尝试制作PHP评论部分。我达到了将注释存储在数据库中的程度,但是当我尝试在屏幕上回显它们时,没有任何显示。此外,它复制了之前的评论。

这是我的PHP

function setComments($conn) {
    if(isset($_POST['comment_submit'])) {
        $uid = $_POST['uid'];
        $date = $_POST['date'];
        $message = $_POST['message'];

        $sql = "INSERT INTO comments (uid, date, message) VALUES ('$uid', '$date', '$message')";
        $result = mysqli_query($conn, $sql);
    }
}

function getComments($conn) {
    $sql = "SELECT * FROM comments";
    $result = mysqli_query($conn, $sql);
    while ($row = $result(fetch_assoc())) {
        echo $row['uid']." on ";
        echo $row['date']."<br/>";
        echo $row['message']."<br/> <br/>";
    }
}

另外,我知道MySQL注入现在是一个威胁,但我稍后会加入保护,所以请忽略它。

2 个答案:

答案 0 :(得分:3)

替换getComments函数,

<?php
    function getComments($conn) {
        $sql = "SELECT * FROM comments";
        $result = mysqli_query($conn, $sql);
        while ($row = mysqli_fetch_assoc($result) {
            echo $row['uid']." on ";
            echo $row['date']."<br/>";
            echo $row['message']."<br/> <br/>";
        }
    }    
?>

答案 1 :(得分:0)

这可以通过显示评论来解决您的问题。我在我的服务器上进行了测试,这是有效的。

function getComments($conn) {
    $sql = "SELECT * FROM comments";
    $result = mysqli_query($conn, $sql);
    if (mysqli_num_rows($result) > 0) {
        while($row = mysqli_fetch_assoc($result)) {
            echo $row['uid']." on ";
            echo $row['date']."<br/>";
            echo $row['message']."<br/> <br/>"; 
        }
    }
}    
getComments($conn);