Обучение/Помощь новичкам | Помогите с ошибками
Закрепленное сообщение:Автор
Но есть нюанс. Смена версии MySQL на Beget происходит только через службу поддержки.
html
Установка (если вы устанавливаете форум первый раз):
1. Закачать на сайт содержимого этого архива (кроме файлов CHANGELOG.txt, README.txt, LICENSE.txt и update_v6_to_v7.php)
2. Создать в панели управления сайтом базу MySQL и пользователя со всеми правами к этой базе
3. Выставить файлу config.php права доступа 666
4. Перейти по адресу, куда заливали содержимое этого архива
5. Следовать подсказкам
6. Внимательно заполните поля при установке! Особенно "Имя сервера" и "Путь к форумам"!!!
7. Система после установки предложит удалить папку install. Это надо сделать обязательно
8. Вернуть файлу config.php права доступа 644
9. Выставить папкам files, opera_mini, images/avatars, album_mod/upload и album_mod/upload/cache права доступа 777
10. Войти на форум под учёткой администратора, зайти в админ-панель и настроить форум по своему вкусу
Помилки, які ти бачиш, пов'язані з некоректною роботою з MySQL-запитами та проблемами з відправкою заголовків HTTP. Давай розглянемо, як їх можна виправити.
### 1. `mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given`
Ця помилка виникає, коли SQL-запит повертає `false` замість об'єкта результату, що найчастіше трапляється через помилку в SQL-запиті.
**Що робити:**
- Перевір SQL-запит, який виконується перед `mysqli_fetch_array()`.
- Додай обробку помилок для SQL-запиту, щоб можна було зрозуміти, в чому проблема.
Наприклад:
```php
$result = mysqli_query($connection, $query);
if (!$result) {
die('Error executing query: ' . mysqli_error($connection));
}
$row = mysqli_fetch_array($result);
```
### 2. `Cannot modify header information - headers already sent`
Ця помилка виникає, коли до відправлення заголовків вже було виведено текст (або помилку), через що заголовки не можуть бути змінені.
**Що робити:**
- Переконайся, що до виклику функцій `header()` не виводиться ніякий текст або пробіли.
- Всі SQL-запити та інші операції, які можуть викликати помилки або вивести текст, слід розташовувати до викликів функції `header()`.
### Виправлення конкретного коду
```php
<?php
// Припустимо, у тебе є з'єднання з базою даних в $connection
$query = "SELECT * FROM some_table";
$result = mysqli_query($connection, $query);
if (!$result) {
// Відображення помилки, якщо SQL-запит не вдався
die('Error executing query: ' . mysqli_error($connection));
}
$row = mysqli_fetch_array($result);
// Твій код до моменту відправки заголовків
if ($condition) {
// Уникай будь-якого виведення перед цим викликом
header('Location: somepage.php');
exit();
}
// Інший код
?>
```
### Рекомендації:
- Завжди перевіряй результат виконання SQL-запитів перед їх обробкою.
- Використовуй `die()` або `exit()` після виклику `header()`, щоб уникнути подальшого виконання коду.
- Перевіряй наявність будь-якого виведення (включаючи пробіли) перед викликами функцій, які модифікують заголовки.
Виправивши ці помилки, код повинен працювати коректно. Якщо залишаться питання або з'являться нові помилки, дай знати!
### 1. `mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given`
Ця помилка виникає, коли SQL-запит повертає `false` замість об'єкта результату, що найчастіше трапляється через помилку в SQL-запиті.
**Що робити:**
- Перевір SQL-запит, який виконується перед `mysqli_fetch_array()`.
- Додай обробку помилок для SQL-запиту, щоб можна було зрозуміти, в чому проблема.
Наприклад:
```php
$result = mysqli_query($connection, $query);
if (!$result) {
die('Error executing query: ' . mysqli_error($connection));
}
$row = mysqli_fetch_array($result);
```
### 2. `Cannot modify header information - headers already sent`
Ця помилка виникає, коли до відправлення заголовків вже було виведено текст (або помилку), через що заголовки не можуть бути змінені.
**Що робити:**
- Переконайся, що до виклику функцій `header()` не виводиться ніякий текст або пробіли.
- Всі SQL-запити та інші операції, які можуть викликати помилки або вивести текст, слід розташовувати до викликів функції `header()`.
### Виправлення конкретного коду
```php
<?php
// Припустимо, у тебе є з'єднання з базою даних в $connection
$query = "SELECT * FROM some_table";
$result = mysqli_query($connection, $query);
if (!$result) {
// Відображення помилки, якщо SQL-запит не вдався
die('Error executing query: ' . mysqli_error($connection));
}
$row = mysqli_fetch_array($result);
// Твій код до моменту відправки заголовків
if ($condition) {
// Уникай будь-якого виведення перед цим викликом
header('Location: somepage.php');
exit();
}
// Інший код
?>
```
### Рекомендації:
- Завжди перевіряй результат виконання SQL-запитів перед їх обробкою.
- Використовуй `die()` або `exit()` після виклику `header()`, щоб уникнути подальшого виконання коду.
- Перевіряй наявність будь-якого виведення (включаючи пробіли) перед викликами функцій, які модифікують заголовки.
Виправивши ці помилки, код повинен працювати коректно. Якщо залишаться питання або з'являться нові помилки, дай знати!
Помилки, які ти бачиш, пов'язані з некоректною роботою з MySQL-запитами та проблемами з відправкою заголовків HTTP. Давай розглянемо, як їх можна виправити.
### 1. `mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given`
Ця помилка виникає, коли SQL-запит повертає `false` замість об'єкта результату, що найчастіше трапляється через помилку в SQL-запиті.
**Що робити:**
- Перевір SQL-запит, який виконується перед `mysqli_fetch_array()`.
- Додай обробку помилок для SQL-запиту, щоб можна було зрозуміти, в чому проблема.
Наприклад:
```php
$result = mysqli_query($connection, $query);
if (!$result) {
die('Error executing query: ' . mysqli_error($connection));
}
$row = mysqli_fetch_array($result);
```
### 2. `Cannot modify header information - headers already sent`
Ця помилка виникає, коли до відправлення заголовків вже було виведено текст (або помилку), через що заголовки не можуть бути змінені.
**Що робити:**
- Переконайся, що до виклику функцій `header()` не виводиться ніякий текст або пробіли.
- Всі SQL-запити та інші операції, які можуть викликати помилки або вивести текст, слід розташовувати до викликів функції `header()`.
### Виправлення конкретного коду
```php
<?php
// Припустимо, у тебе є з'єднання з базою даних в $connection
$query = "SELECT * FROM some_table";
$result = mysqli_query($connection, $query);
if (!$result) {
// Відображення помилки, якщо SQL-запит не вдався
die('Error executing query: ' . mysqli_error($connection));
}
$row = mysqli_fetch_array($result);
// Твій код до моменту відправки заголовків
if ($condition) {
// Уникай будь-якого виведення перед цим викликом
header('Location: somepage.php');
exit();
}
// Інший код
?>
```
### Рекомендації:
- Завжди перевіряй результат виконання SQL-запитів перед їх обробкою.
- Використовуй `die()` або `exit()` після виклику `header()`, щоб уникнути подальшого виконання коду.
- Перевіряй наявність будь-якого виведення (включаючи пробіли) перед викликами функцій, які модифікують заголовки.
Виправивши ці помилки, код повинен працювати коректно. Якщо залишаться питання або з'являться нові помилки, дай знати!
Або ти щось щось маєш проти України ?)
________
посл. ред. 30.08.2024 в 20:21; всего 1 раз(а); by d13b
________
посл. ред. 30.08.2024 в 20:30; всего 1 раз(а); by d13b
html
Установка (если вы устанавливаете форум первый раз):
1. Закачать на сайт содержимого этого архива (кроме файлов CHANGELOG.txt, README.txt, LICENSE.txt и update_v6_to_v7.php)
2. Создать в панели управления сайтом базу MySQL и пользователя со всеми правами к этой базе
3. Выставить файлу config.php права доступа 666
4. Перейти по адресу, куда заливали содержимое этого архива
5. Следовать подсказкам
6. Внимательно заполните поля при установке! Особенно "Имя сервера" и "Путь к форумам"!!!
7. Система после установки предложит удалить папку install. Это надо сделать обязательно
8. Вернуть файлу config.php права доступа 644
9. Выставить папкам files, opera_mini, images/avatars, album_mod/upload и album_mod/upload/cache права доступа 777
10. Войти на форум под учёткой администратора, зайти в админ-панель и настроить форум по своему вкусу
Исчезни фашист
Советую https://bym.guru/id83157 Лара сделает всё чётко ,уже 2 проекта со мной у неё,советую,девка огонь
Помогло сменить версию MySQL на 5.7.
Но есть нюанс. Смена версии MySQL на Beget происходит только через службу поддержки.
Но есть нюанс. Смена версии MySQL на Beget происходит только через службу поддержки.