@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);
}
  • Вопрос задан
  • 57 просмотров
Пригласить эксперта
Ответы на вопрос 1
@NickNamee
во-первых так делать не безопасно.
$ins = "INSERT INTO Student(result, surname) VALUES('$result', '$surname')";

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

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

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

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

Войти через центр авторизации
Похожие вопросы