2017-01-05 3 views
0

Привет, я пытаюсь получить комментарии из комментариев «моей» исходной таблицы. Я хочу показать, нет ли комментариев, например: «нет результатов», иначе, если есть комментарии, чтобы отобразить окно комментария с именем пользователя, датой и сообщением комментариев, которые я попробовал, но без результатов:Php получить комментарии

function getComments($conn) { 
$sql = ("SELECT * FROM comments ORDER BY cid DESC LIMIT 5"); 
$result = $conn->query($sql); 
foreach($row as $result) { 
    if(!mysql_num_rows($sql)) 
{ 
echo 'No results'; 
} 
else 
{ 
echo "<div class='comment-box2'><p>"; 
     echo $row['users']."<br>"; 
     echo $row['date']."<br>"; 
     echo nl2br($row['message']); 
    echo "</p> 
    </div>"; 
} 
} 
} 
+1

отличается от этого вопроса –

+1

Не совсем. Вы используете mysqli/PDO для запуска запроса, а затем с помощью mysql_ *, чтобы получить количество строк. Эти два не сетчатые. Переключите mysql_num_rows, чтобы использовать функцию для нового API, который вы используете. – aynber

+0

Вам нужно изменить mysql_num_rows ($ result) на mysqli_num_rows ($ conn, $ result). mysql_num_rows - это устаревшая версия, а mysqli - это новая версия, на которую вы выполняете свой запрос, но не получающий счет – Boardy

ответ

0

Я думаю, что вы не заказывали свой код должным образом, а также ряд других сделанных вами ошибок, таких как смешение mysql и mysqli. (Вы можете увидеть this question для объяснения разницы между ними.) Попробуйте это:

function getComments($conn) 
{ 
    $sql = ("SELECT * FROM comments ORDER BY cid DESC LIMIT 5"); 
    $result = $conn->query($sql); 

    //This line should come next; 
    //you check the number of rows in the result of the query returned, 
    //not in the SQL statement 
    if(!($result->num_rows)) { //looks like you're using MySQLi, so you should do things properly 
    echo 'No results'; 
    } else { 

    //Then iterate over the rows if there were any 
    while($row = $result->fetch_assoc()) { //again, using MySQLi 
    echo "<div class='comment-box2'><p>"; 
    echo $row['users']."<br>"; //I'm pretty sure this should be singular 
    echo $row['date']."<br>"; 
    echo nl2br($row['message']); 
    echo "</p> </div>"; 
    } 
    } 
} 
+0

Это не касается того факта, что они смешивают mysqli и mysql_ *. – aynber

+0

Но это адрес другой его проблемы, в его коде есть множество ошибок, но –

+0

@aynber спасибо, что указали это ... Позвольте мне уточнить ответ. – shalvah

Смежные вопросы