просто после вардампа убрала вардамп и вуаля
это же не автоваз чтобы просто стукнуть по нему и он заработал,что происходит(Ну, подозреваю что заработал какой-то редирект, если мне не изменяет склероз, где то выше по треду упоминался варнинг о отосланных заголовках и невозможности редиректа. Это немного другая тема, но в целом дальше все то же самое - проверки переменных, и вот это все... Если честно - мне немного грустно что вы не нашли нормальный курс с хорошей базой и быстрым переходом на объекты и mvc, этот код выглядит жалко и перенасыщен антипаттернами ( С таким подходом у вас сложится впечатление что все в программировании построено через Ж. Когда есть красивый и понятный код...
/*SQL-запрос на выборку из таблицы orders всех товаров для конкретного покупателя*/
$sql = "SELECT title, author, pubyear, price, quantity FROM orders WHERE orderid = '$orderid' AND datetime = $date";
var_dump($sql);//если ВСЕ переменные норм вставились,
//идем в phpmyadmin и оттуда выполняем полученный запрос, думаем, курим доки
if(!$result = mysqli_query($link, $sql))
return false;
$items = mysqli_fetch_all($result, MYSQLI_ASSOC);
var_dump($items); // выполнился запрос? вернул что-то?
// если не вернул - проверяйте запрос
mysqli_free_result($result);
/*Сохранение результата в промежуточном массиве*/
$orderinfo["goods"] = $items;
/*добавление промежуточного массива в возвращаемый массив*/
$allorders[]=$orderinfo;
}
return $allorders;
}
$('.wpcf7-submit').attr("disabled","disabled");
убери, и будет тебе щасте переписала, теперь массив выглядит вообще вот таквсе должно работать, ну если автоинкремент добавить. Ну и если что - снова вар дамп и смотреть какая ошибка. Естественно что могут быть другие ошибки, так как там у вас много непонятных запутанных моментов...
object(mysqli_stmt)#1 (10) { ["affected_rows"]=> int(-1) ["insert_id"]=> int(0) ["num_rows"]=> int(0) ["param_count"]=> int(7) ["field_count"]=> int(0) ["errno"]=> int(1364) ["error"]=> string(39) "Field 'id' doesn't have a default value" ["error_list"]=> array(1) { [0]=> array(3) { ["errno"]=> int(1364) ["sqlstate"]=> string(5) "HY000" ["error"]=> string(39) "Field 'id' doesn't have a default value" } } ["sqlstate"]=> string(5) "HY000" ["id"]=> int(1) }
Field 'id' doesn't have a default valueговорит о том что все поля есть, но на id самой таблицы не добавлен атрибут автоинкремент. Зайдите в свойства этого поля и добавьте, все должно заработать. Вообще код - жесть адская конечно.
foreach($goods as $item){
mysqli_stmt_bind_param($stmt, "ssiiisi", $item['title'], $item['author'], $item['pubyear'], $item['price'], $item['quantity'], $item['id'], $datetime);
mysqli_stmt_execute($stmt);
}
Например для приложения на пхп поле password_salt излишне. В остальном есть несколько явно специфичных полей, и большинство стандартных.
Важно: Не морочьте себе голову идеальностью таблиц на этапе проектирования. Важно чтобы к моменту готовности к работе с реальными наборами данных вы их спроектировали. А это далеко не сразу. По мере необходимости можно менять или настраивать таблицы/индексы под задачи.