我正在尝试制作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注入现在是一个威胁,但我稍后会加入保护,所以请忽略它。
答案 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);