Задать вопрос
@bwylla

Почему не сохраняется JSON в БД?

#Order.php

class Order
{
	public static function save($name, $email, $phone, $userId, $comments, $products)
	{
		$db = Db::getConnection();

		$products = json_encode($products);
		echo $products;

		$sql = 'INSERT INTO orders (name, email, phone, user_id, comments, products ) '
                	. 'VALUES (:name, :email, :phone, :user_id, :comments, :products)';
         
		$result = $db->prepare($sql);
		$result->bindParam(':name', $name, PDO::PARAM_STR);
		$result->bindParam(':email', $email, PDO::PARAM_STR);
		$result->bindParam(':phone', $phone, PDO::PARAM_STR);
		$result->bindParam(':user_id', $userId, PDO::PARAM_STR);
		$result->bindParam(':comments', $comments, PDO::PARAM_STR);
               //Если вместо $products поставить к примеру переменную $id равную 1,
                  то запись сохраняется
		$result->bindParam(':products', $products, PDO::PARAM_STR);


		return $result->execute();
	}
}


#CartController.php

if (isset($_POST['order_btn'])) {
	$phone = $_POST['phone'];
	$address = $_POST['address'];
	$name = $_POST['name'];
	$email = $_POST['email'];
	$comments = $_POST['comments'];

	$errors = false;

	if (!User::checkPhone($phone)) {
		$errors[] = 'Invalid phone';
	}

	if (!User::checkName($name)) {
		$errors[] = 'Invalid Name';
	}

	if (!User::checkEmail($email)) {
		$errors[] = 'Invalid Email';
	}

	if ( $errors == false ) {
		$productsInCart = Cart::getProducts();
					
		if ( User::isGuest() ) {
			$userId = false;				
		} else {
			$userId = User::checkLogged();
		}

		$result = Order::save($name, $email, $phone, $userId, $comments, $productsInCart);
		if ( $result ) {
			Cart::clear();
		}
  • Вопрос задан
  • 124 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Смотри ошибки в логах
Проверяй содержимое переменных
Проверь запрос руками из консоли или из пхпмайадмина
Думай головой
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽