По сути, я позаботился о том, чтобы он не выбирал первый результат из запроса, а затем полагался на то, что будет больше результатов для циклического повторения, чтобы напечатать одно и то же сообщение повторно.

у это не работает?

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

?>

Извините, но ни один из ответов не работает. ЛЮБЫЕ ДРУГИЕ ИДЕИ?

 BoltClock♦13 янв. 2011 г., 22:56
Как любой из них может работать, когда$title а также$message не объявлены?
 Bailey Parker13 янв. 2011 г., 22:53
Можем ли мы увидеть весь источник? Кажется, что контекст может быть проблемой здесь.
 Crozin13 янв. 2011 г., 22:57
while петля в не функция - это цикл (или, более общее: структура управления).
 bharath13 янв. 2011 г., 22:55
полный источник, безусловно, поможет ...

Ответы на вопрос(7)

вы никогда не увидите ничего напечатанного в цикле while. Если $ title и $ message не установлены (потому что вы хотите ссылаться на них по $ result ['title'] & $ result ['message'], если это имена полей в базе данных), вы увидите только два<br /> теги в исходных кодах ваших страниц.

Это работает;

<?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'];
}

?>

По сути, я позаботился о том, чтобы он не выбирал первый результат из запроса, а затем полагался на то, что будет больше результатов для циклического повторения, чтобы напечатать одно и то же сообщение повторно.

то вам нужно получить к ним доступ через массив $ result, возвращаемый mysqli_fetch_assoc.

echo $result['title'];
echo $result['message'];

Попробуй это:

<?php 

$result = mysql_query($query);
while($row = mysqli_fetch_assoc($result)){
   echo $title.'<br/><br/>'.$message;
}

?>

если вы используете mysqli, вы будете делать что-то вроде этого:

$mysqli = new mysqli("localhost", "user", "password", "db");

if ($result = $mysqli->query($query)) {

    while ($row = $result->fetch_assoc()) {
      print $row['title'];
    }

    $result->close();
}

то содержимое цикла while никогда не будет выполнено.

Поэтому, если из запроса нечего извлечь, вы не увидите никакого вывода.

он полностью пропущен, то ваш запрос вернул 0 строк. Если он выводит<br /> s, тогда вам нужно проверить свои переменные. Я мог бы ошибаться, не зная весь код, но обычно в этом случае у вас было бы что-то вродеecho $result['title'] вместоecho $title

Ваш ответ на вопрос