0 голосов
спросил от в категории PHP
Даже без ошибок, я боюсь, что это пустой цикл:
<?php foreach($list as $key => $value) { ?> <?php } ?>


1 # ##
Не решение вашего вопроса, но еще одна проблема, которую вы имеете.
Никогда не создавайте SQL-запрос, объединяя строки. Рано или поздно вы сделаете это с помощью пользовательских входов, и это откроет дверь для уязвимости с именем «SQL injection», это опасно для вашей базы данных и подверженности ошибкам.
Одиночная цитата в названии и вашем крах программы. Если пользователь вводит такое имя, как «Брайан О'Коннер», это может привести к краху вашего приложения, это уязвимость в SQL-инъекции, и авария является наименьшей из проблем, вредоносного ввода пользователя и продвигается к командам SQL со всеми учетными данными.
<?php foreach($list as $key => $value) { ?> <?php } ?>
# [
$sql = "INSERT INTO users SET name = '$name', email = '$email', address = '$address', mob = '$mob'";
#]
#SQL Injection # [#^ #]
#SQL Injection Attacks by Example # [#^ #]
#PHP: SQL Injection - Manual # [#^ #]
#SQL Injection Prevention Cheat Sheet - OWASP # [#^ #]
< DIV>

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
0 голосов
ответил от
Warning: Invalid argument supplied for foreach() in C:xampphtdocscrud_phpoop_crudpagesread.php on line 25
выдается за
<?php foreach($list as $key => $value) { ?>
Недопустимый аргумент $ list .
Warning: Invalid argument supplied for foreach() in C:xampphtdocscrud_phpoop_crudpagesread.php on line 25
# [
<?php foreach($list as $key => $value) { ?>
#] ожидает выражения массива.

Здесь назначается
$list = crudDAO::read();

Итак, следующим шагом будет проверка этой функции.
if($result->num_rows > 0) {     $i = 0;     $list = " ";     while($row = $result->fetch_assoc()) {         $list[$i] = $row;         $i++;     }     return $list; } else {     return false;
У этого есть два пути возврата. Если не найдено совпадающих наборов записей, возвращается логическое значение false . Таким образом, вы должны проверить это возвращаемое значение при вызове функции или вернуть пустой массив вместо логического.

Есть и другие предупреждения
Notice: Array to string conversion in C:xampphtdocscrud_phpoop_cruddaocrudDAO.php on line 24
Они сообщают вам, что $ list - это массив строк. Но вы хотите массив массива. Решение состоит в объявлении массива $ list . Соединяя его, вы можете использовать что-то вроде
$list = array(); if($result->num_rows > 0) {     $i = 0;     while($row = $result->fetch_assoc()) {         $list[$i] = $row;         $i++;     } } return $list; }

Категории

Добро пожаловать на сайт DraftingCode Q&A (ИТ ответы), где вы можете задавать вопросы и получать ответы от других членов сообщества.

Связанных вопросов не найдено

...