• Что не так тут?

    @Kristina8787 Автор вопроса
    FanatPHP, с вашим кодом никакой ошибки нет, выборка дается в массиве. Сейчас мануал читаю по ошибкам,чтобы в будущем глупыми вопросами не докучать. Задание с курсов php pr-of-it . Суть метода execute была просто узнать тру или фолс при выполнении добавления или удаления записей в таблице.
  • Что не так тут?

    @Kristina8787 Автор вопроса
    FanatPHP, хорошо, просто торопилась
  • Что не так тут?

    @Kristina8787 Автор вопроса
    galaxy, все включены
  • Что не так тут?

    @Kristina8787 Автор вопроса
    у меня по заданию нужно было эти две функции, я так поняла первая чтобы добавлять,удалять,обновлять в БД данные,а вторая чисто выборку данных делать. . Но тот код что у меня прекрасно работал в предыдущем задании , почему сейчас не работает разобраться не могу. Безусловно ваш вариант лучше, но инфу об ошибках как включать я еще не знаю, и в задании этого нет, а где LIMIT добавлен не поняла,я так поняла в option.
  • Почему данные не добавляются в БД?

    @Kristina8787 Автор вопроса
    я делала с проверкой ( но все вышло проще, поле эмейл еще было в таблице и оно не имеет значения по умолчанию разумеется, и из за этого не добавлялось,теперь все хорошо, на будущее буду с проверкой делать)
  • Почему данные не добавляются в БД?

    @Kristina8787 Автор вопроса
    Sergey, все оказалось просто,благодаря вашему методу , поле эмэйл в таблице еще есть, и оно не имеет значения по умолчанию, и из за этого не добавлялось)спасибо вам)
  • Как изменить код?

    @Kristina8787 Автор вопроса
    точно, спасибо большое)
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    ThunderCat, но ведь должна же быть причина,по которой код не срабатывал,а спустя сутки ничего в нем не меняя он заработал и начал в базу данные писать...
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    ThunderCat, дударь курсы проходила,все было понятно и ясно,потом зинченко начала,там половина за кадром происходит другая половина без первой не работает,при этом даже не говорит что и где надо добавлять или менять для того чтобы работало,и вот тут наткнулась на совет изучать по борисову,параленько читаю котерова,но еще вначале пока, если знаете курсы хорошие буду рада совету,но и эту проблему хотелось бы решить,чтобы уж хотябы закончить модуль(
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    ThunderCat, у меня кукушка скоро поедет, это же не автоваз чтобы просто стукнуть по нему и он заработал,что происходит(
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    ThunderCat, я не знаю что случилось,но заказы начали добавляться в таблицу, я ничего не меняла,просто после вардампа убрала вардамп и вуаля....мне кажется моя машина меня тролит...но, в файле куда заказ сохраняется все равно не выводит массив с товаром...
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    ThunderCat,
    Array
    (
    [0] => Array
    (
    [name] => petr
    [email] => petr
    [phone] => 12345
    [address] => gorod
    [orderid] => 5e744ba38a892
    [date] => 1584696009

    [goods] => Array
    (
    )

    )
    вот такой массив показывает, записи в таблицу не пападают.
    вот на этих этапах массив есть
    function getOrders(){
    	global $link;
    	if(!is_file(ORDERS_LOG))
    	return false;
    	/* получаем в виде массива персональные данные пользователя из файла*/
    	$orders = file(ORDERS_LOG);
    	/*массив который будет возвращен функцией*/
    	$allorders = [];
    	foreach ($orders as $order){
    		list($name, $email, $phone, $address, $orderid, $date) = explode("|", $order);
    		/*Промежуточный массив для хранения информации о конкретном заказе */
    		$orderinfo = [];
    		/*сохранение информации о конкретном пользователе*/
    		$orderinfo["name"] = $name;
    		$orderinfo["email"] = $email;
    		$orderinfo["phone"] = $phone;
    		$orderinfo["address"] = $address;
    		$orderinfo["orderid"] = $orderid;
    		$orderinfo["date"] = $date;
    		/*SQL-запрос на выборку из таблицы orders всех товаров для конкретного покупателя*/
    		 $sql = "SELECT title, author, pubyear, price, quantity FROM orders WHERE orderid = '$orderid' AND datetime = $date";
    if(!$result = mysqli_query($link, $sql))
    		 return false;

    а вот дальше уже массив становится пустым после следующих строчек
    $items = mysqli_fetch_all($result, MYSQLI_ASSOC);
    		 mysqli_free_result($result);
    		 /*Сохранение результата в промежуточном массиве*/
    		 $orderinfo["goods"] = $items;
    		 /*добавление промежуточного массива в возвращаемый массив*/
    		 $allorders[]=$orderinfo;
    	}
    	return $allorders;
    }
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    ThunderCat, поставила автоинкремент,но ничего не поменялось,данные в таблицу не идут
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    Дмитрий, в таблице откуда берутся данные товара есть данные, а таблица с заказами должна заполняться вот в той функции saveOrder , но она этого не делает
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    Дмитрий, а причем тут количество аргументов? код же рабочий,запрос уходит, а значений не возвращает в items(
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    ThunderCat,
    function getOrders(){
    	global $link;
    	if(!is_file(ORDERS_LOG))
    	return false;
    	/* получаем в виде массива персональные данные пользователя из файла*/
    	$orders = file(ORDERS_LOG);
    	/*массив который будет возвращен функцией*/
    	$allorders = [];
    	foreach ($orders as $order){
    		list($name, $email, $phone, $address, $orderid, $date) = explode("|", $order);
    		/*Промежуточный массив для хранения информации о конкретном заказе */
    		$orderinfo = [];
    		/*сохранение информации о конкретном пользователе*/
    		$orderinfo["name"] = $name;
    		$orderinfo["email"] = $email;
    		$orderinfo["phone"] = $phone;
    		$orderinfo["address"] = $address;
    		$orderinfo["orderid"] = $orderid;
    		$orderinfo["date"] = $date;
    		/*SQL-запрос на выборку из таблицы orders всех товаров для конкретного покупателя*/
    		 $sql = "SELECT title, author, pubyear, price, quantity FROM orders WHERE orderid = '$orderid' AND datetime = $date";
    		 /*Получение результата выборки*/
    		 if(!$result = mysqli_query($link, $sql))
    		 return false;
    		 $items = mysqli_fetch_all($result, MYSQLI_ASSOC);
    		 mysqli_free_result($result);
    		 /*Сохранение результата в промежуточном массиве*/
    		 $orderinfo["goods"] = $items;
    		 /*добавление промежуточного массива в возвращаемый массив*/
    		 $allorders[]=$orderinfo;
    	}
    	return $allorders;
    }

    может где то тут причина? вардампаю $items, выдает пустоту...
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    ThunderCat, завардампила значения,массив вроде ровный выдает,но в базу опять же не попадает,и при просмотре заказа данные о товаре в массиве пустые
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    ThunderCat, я не то вардампаю, у меня вечером и утром тупняки постоянно(
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    ThunderCat, переписала, теперь массив выглядит вообще вот так
    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) }