Dinarik_dinarik
@Dinarik_dinarik
Учусь

Почему MySQL вернула пустой результат?

Я учу php и пытаюсь добавить строки в таблицу. Во всех вариантах, получаются все действия, как то вывод строк на экран, но никогда не получаются действия с внесением данных или созданием таблицы в БД.
Вот небольшой пример, как я пытаюсь вставить строку в таблицу (уже существующую в бд):
$user = 'root';
        $password = 'root';
        $db = 'ht'; (имя бд совпадает с реальной)
        $host = 'localhost';

        $dsn = 'mysql:host='.$host.';dbname='.$db;
        $pdo = new PDO($dsn, $user, $password);

      
        $id = 1; (названия переменных совпадают с названиями колонок в таблице)
        $name = 'Dinara';
        $title = 'Кепка';

        $sql = 'INSERT INTO orders(id, name, title) VALUES(:id, :name, :title)';
        $query = $pdo->prepare($sql);
        $query->execute(['id' => $id, 'name' => $name, 'title' => $title]);

На что в админке MAMP выдает:
MySQL вернула пустой результат (т.е. ноль строк). (Запрос занял 0.0005 сек.)

В чем может быть проблема, помогите, пожалуйста?
  • Вопрос задан
  • 1666 просмотров
Пригласить эксперта
Ответы на вопрос 3
SagePtr
@SagePtr
Еда - это святое
4-м параметром в конструктор PDO передавайте хотя бы это:
$pdo = new PDO($dsn, $user, $password, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);

Вы же не хотите поиграть в слепого котёнка?
Ответ написан
@galaxy
На что в админке MAMP выдает:
MySQL вернула пустой результат (т.е. ноль строк). (Запрос занял 0.0005 сек.)

В каком месте это выдает?
Запрос INSERT не возвращает результата, если что.
Ответ написан
Dinarik_dinarik
@Dinarik_dinarik Автор вопроса
Учусь
Нашла свою ошибку!!
При создании полей таблицы, указала тип INT у полей name и title. Поэтому при попытке ввести что-то кроме цифр, выдавало ошибку, которую я увидела, лишь попытавшись внести вручную поля.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы