fetch_assoc () вызывается только один раз - PullRequest
0 голосов
/ 28 октября 2019

со вчерашнего дня у меня проблема в том, что fetch_assoc () просто выполняется один раз, и после этого, каждый раз, когда я вызываю fetch_assoc (), возвращаемое значение равно нулю.

Может кто-нибудь выяснить, чтопроблема? Если я сделаю запрос в phpmyadmin, ожидаемые результаты не равны нулю.


  $sent = $mysqli_chat->query("SELECT to_user_id FROM chat WHERE from_user_id='" . $_SESSION['id'] . "';");
  $receive = $mysqli_chat->query("SELECT from_user_id FROM chat WHERE to_user_id='" . $_SESSION['id'] . "';");

while ($row = $receive->fetch_assoc()){
  $contacts = $mysqli->query('SELECT vorname_eltern, nachname_eltern, vorname_lehrer, nachname_lehrer FROM login WHERE id="' . $row['from_user_id'] . '";');
  $nachname = $contacts->fetch_assoc()['nachname_eltern'] . $contacts->fetch_assoc()['nachname_lehrer'];

  $vorname = $contacts->fetch_assoc()['vorname_eltern'] . $contacts->fetch_assoc()['vorname_lehrer'];

  $chats .= '<li class="list-group-item p-0 px-3 pb-2" style="border-top:0;" onclick="changeChat(' . $i++ . ')">
    <img class="user-avatar rounded-circle mr-2" src="images/avatars/0.jpg" alt="User Avatar" width="40" height="40"><span>' . $vorname . ' ' . $nachname . '</span>
    </li>';
    $js_nachname .= "'" . $nachname . "', ";
    $js_vorname .= "'" . $vorname . "', ";
}

1 Ответ

0 голосов
/ 28 октября 2019

Полагаю, вы говорите о $contacts->fetch_assoc(). Запрос $contacts соответствует только одной строке. Каждый раз, когда вы вызываете $contacts->fetch_assoc(), он пытается вернуть следующий ряд результатов, но следующего ряда нет. Первый вызов $contacts->fetch_assoc() возвращает эту строку, последующие вызовы возвращают NULL.

. Вы должны присвоить строку переменной, а затем использовать переменную вместо того, чтобы повторно вызывать fetch_assoc().

$contacts = $mysqli->query('SELECT vorname_eltern, nachname_eltern, vorname_lehrer, nachname_lehrer FROM login WHERE id="' . $row['from_user_id'] . '";');
$contact_row = $contacts->fetch_assoc();
$nachname = $contact_row['nachname_eltern'] . $contact_row['nachname_lehrer'];
$vorname = $contact_row['vorname_eltern'] . $contact_row['vorname_lehrer'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...