@fanus

Почему выводит ошибку: mysqli_fetch_array() expects parameter 1 to be mysqli_result?

$host = 'localhost';
$user = 'root';
$password = '';
$database = 'students';

$connects = mysqli_connect($host, $user, $password, $database);

if (isset($_POST['btn'])) {
  $surname = $_POST['surname'];
  $result = $_POST['result'];
}

$ins = "INSERT INTO Student(result, surname) VALUES('$result', '$surname')";
$obj = mysqli_query($connects, $ins);


while ($row = mysqli_fetch_array($obj)) {
  print_r($row);
}
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ответы на вопрос 1
@NickNamee
во-первых так делать не безопасно.
$ins = "INSERT INTO Student(result, surname) VALUES('$result', '$surname')";

нужно либо проверять паттернами на соответствие, либо обрезать неправильные символы, ибо через sql-injection запросто можно сделать себя админом

а ошибки здесь две
mysqli_query нужно получить результат выполнения, на что ошибка и указывает.
и только потом этот результат по одной строке фетчить.

ну и вторая ошибка - из вставки вам ничего не вернётся кроме как результат - выполнено успешно и вставлена 1 строка.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 200 000 до 250 000 ₽
А Деньги Москва
от 250 000 ₽
Stream Telecom Санкт-Петербург
от 120 000 ₽
22 сент. 2023, в 15:38
15000 руб./за проект
22 сент. 2023, в 15:14
5000 руб./за проект
22 сент. 2023, в 14:16
500 руб./за проект