Примечание: неопределенное смещение: 0 в цикле while

Я пытаюсь получить все post_ids от подписчиков (в таблице подписчиков) в массив

Это может быть длинный код, но вот он:

while (post_count($con, $session_user_id) > $n) {
$pfields = array("post_id", "from", "content", "good", "favorite"/*, "time", "date"*/);
$query = mysqli_query($con, "SELECT followed_id FROM followers WHERE user_id = $session_user_id");
while($row = mysqli_fetch_assoc($query)) {
$data = array();
$data = $row;
}
$t = 0;
$postids = array();
if (empty($data) !== true && isset($data)) {
while ($data[$t] !== NULL) { //ERROR HERE
$sql1 = mysqli_query($con, "SELECT post_id FROM posts WHERE" . $data[$t] . "= from ORDER BY  posts.post_id DESC LIMIT $t, 100") or die(mysqli_error($con));
while ($row = mysqli_fetch_assoc($sql1)) {
$postids = array();
$postids[] = $row[0];
}
$t++;
if ($t>10) {
break;
}
}
}
$sql2 = mysqli_query($con, "SELECT post_id FROM posts WHERE from = $session_user_id ORDER BY  posts.post_id DESC LIMIT $n, 100") or die(mysqli_error($con));
if ($sql2 === false) {
echo "An error ocurred";
} else {
while($row = mysqli_fetch_assoc($sql2)) {
$postids[] = $row[0]; //ERROR HERE TOO
}
}
rsort($postids); `

Отображаемые ошибки: Уведомление: неопределенное смещение: 0 в /home/cabox/workspace/LOL/home.php в строке 55 Примечание: неопределенное смещение: 0 в /home/cabox/workspace/LOL/home.php в строке 72
Я проверил другие вопросы, и они не отвечают на мои собственные. Я проверил запрос, и они показывают что-то в моей базе данных. Спасибо!

-1

Решение

Когда вы используете mysqli_fetch_assoc(), результат будет отформатирован как ассоциативный массив. Так что вам нужно изменить свой код, как показано ниже:

while($row = mysqli_fetch_assoc($sql2)) {
$postids[] = $row['post_id'];
}

Как PHPВ документе говорится:

mysqli_fetch_assoc: извлечение строки результата в виде ассоциативного массива

В противном случае вам может понадобиться mysqli_fetch_row(),

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]