Местоположение
Россия

Наибольший вклад в теги

Все теги (2)

Лучшие ответы пользователя

Все ответы (5)
  • Как записать запрос на добавление массива из input в базу данных?

    Добрый день, в первую очередь хочется сказать, что в базу данных на подобии MySQL записать массивы нельзя, только строки или json.

    Если говорить, о том, что вы хотите вообще данные занести, а потом их вывести, как массив, то такое сделать можно.
    Что хочется сказать, вам стоит понять, как надо работать с базой данных, советую использовать PDO и подготовленные запросы.

    Сам пример кода

    В вашем файле подключения рекомендую сделать так:
    try {
    
       $connect = new PDO('mysql:host=localhost;dbname=a0634339_base;charset=utf8', 'root', 'a0634339_base');
    
    } catch (\Exception $error) {
    
       echo "Error connect to DataBase:" . $error->getMessage();
       die();
    
    }


    В основном файле выглядеть должно примерно так:

    require_once '../vendor/connect.php';
    
    $name = $_POST['name'];
    $price = $_POST['price'];
    $quantity = $_POST['quantity'];
    
    
    $sql = "INSERT INTO `zakaz` (`name`,`price`, `quantity`) VALUES (:name, :price, :quantity)"; // тут вы допустили ошибку, писали слово INSERT нижним регистром, одна из причин почему у вас запрос не работал.
    
    $params = [
      "name" => $name,
    
      "price" => $price,
    
      "quantity" => $quantity
    ];
    
    $connect->prepare($sql)->execute($params);
    
    // дальше идем, что бы взять информацию из бд и вывести ее как массив.
    
    $sth = $connect->prepare("SELECT * FROM `zakaz` WHERE `name` = :name");
    
    $params = [
      "name" => $name
    ];
    
    $sth->execute($params);
    
    $array = $sth->fetchAll(PDO::FETCH_ASSOC);
    
    var_dump($array[0]); // полагаю вы хотели получить это
    Ответ написан
    Комментировать
  • Не работает система профилей?

    Приветствую, не знаю как у вас там написаны классы, полагаю, что дело в том что вы не правильно сделали сравнение, вместо '=' нужно было указать '===' , речь про второй блок.

    <? if($user_name):?>
            <div class = "user_info">
                <div class = "avatar"></div>
                <h1 class = "name"><?= $user_name ?></h1>
                <h3 class = "likes"><?= 'Ты залётный сыч' ?></h3>
            <? elseif($account_name === $_SESSION['name']): ?>
                <div class = "avatar"></div>
                <h1 class = "name"><?= $account_name ?></h1>
                <h3 class = "likes"><?= 'Вы хозяин' ?></h3>
            <? endif;?>


    Вообще, рекомендую смотреть ошибки, там явно указана строка ошибки.
    Ответ написан
    Комментировать
  • Как исправить кодировку, чтобы в базе данных русское слово отображалось нормально?

    Здравствуйте, при создании таблицы базы данных вы возможно указали неверное Сравнение, вам нужно указать его как либо utf8_general_ci, либо более "расширенную" версию utf8mb4_general_ci.

    Желательно указать Сравнение как в самой таблице так и в строке.
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (7)