帮助PHP功能

时间:2011-01-13 21:52:52

标签: php while-loop

为什么这不起作用?

<?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;

?>

抱歉说,但没有回答工作。还有其他想法吗?

7 个答案:

答案 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;然后依靠有更多的结果循环,以便重复打印相同的消息。