为什么这不起作用?
<?php
$select = "select * from messages where user='$u'";
$query = mysqli_query($connect,$select) or die(mysqli_error($connect));
$row = mysqli_num_rows($query);
$result = mysqli_fetch_assoc($query);
$title = mysqli_real_escape_string($connect,trim($result['title']));
$message = mysqli_real_escape_string($connect,trim($result['message']));
while(($result = mysqli_fetch_assoc($query))){
echo $title;
echo '<br/>';
echo '<br/>';
echo $message;
}
?>
这在哪里工作 -
<?php
echo $title;
?>
抱歉说,但没有回答工作。还有其他想法吗?
答案 0 :(得分:1)
如果您的mysqli查询返回零行,那么您将永远不会在while循环中看到任何打印内容。如果没有设置$ title和$ message(因为你想要通过$ result ['title']&amp; $ result ['message']引用它们,如果这是数据库中的字段名称)那么你只会看到两个{您网页源代码中的{1}}标记。
答案 1 :(得分:1)
如果while循环条件不为真,那么while循环的内容将永远不会执行。
因此,如果没有任何内容可以从查询中获取,那么您将看不到任何输出。
答案 2 :(得分:1)
您是否编码显示任何内容,或完全跳过输出?
如果它完全跳过,那么您的查询返回0行。
如果它输出<br />
s,那么您需要检查变量。我可能是错的,不知道整个代码,但通常在这种情况下你会有类似的东西
echo $result['title']
代替echo $title
答案 3 :(得分:0)
试试这个:
<?php
$result = mysql_query($query);
while($row = mysqli_fetch_assoc($result)){
echo $title.'<br/><br/>'.$message;
}
?>
答案 4 :(得分:0)
如果$ title和$ message来自你的mysql查询,那么你必须通过mysqli_fetch_assoc返回的$ result数组来访问它们。
echo $result['title'];
echo $result['message'];
答案 5 :(得分:0)
此外,如果你使用mysqli,你会做这样的事情:
$mysqli = new mysqli("localhost", "user", "password", "db");
if ($result = $mysqli->query($query)) {
while ($row = $result->fetch_assoc()) {
print $row['title'];
}
$result->close();
}
答案 6 :(得分:0)
这是否有效;
<?php
$select = "select * from messages where user='$u'";
$query = mysqli_query($connect,$select) or die(mysqli_error($connect));
$row = mysqli_num_rows($query);
while(($result = mysqli_fetch_assoc($query))){
echo $result['title'];
echo '<br/>';
echo '<br/>';
echo $result['message'];
}
?>
基本上我已经确定它没有从查询中获取第一个结果&amp;然后依靠有更多的结果循环,以便重复打印相同的消息。