• 0
Tardpipl

Не работает INSERT INTO

    Вопрос

    Tardpipl

    Друзья помогите пожалуйста с проблемой сам не пойму в чем она. Есть запрос mysql_query(" INSERT INTO blog (title, text) VALUES ('$title', '$text') "); он должен записать в бд его (phpmyadmin) но в чем весь сок он не записывает ошибок не выдает. В чем проблема? Для большего понятия я прикрепил 2 ссылки с кодами. Сам проект у меня на локалке (OpenServer).Спасибо!

    http://pastebin.com/YzfVjuk2

    http://pastebin.com/jSdfWXYw

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах

    9 ответов на этот вопрос

    Рекомендуемые сообщения

    • 0
    BrusSENS
    3 часа назад, Tardpipl сказал:

    Друзья помогите пожалуйста с проблемой сам не пойму в чем она

    1. Где структура таблицы? (это так, на будущее).

    2. Пишите запросы правильно

    3. Почему переменные в одинарных кавычках пишите? Для начала начните делать так.

    mysql_query("INSERT INTO `blog` (`title`, `text`) VALUES ('" . $title . "', '" . $text . "')");

    Запрос правильный.

    Проблема у Вас скорее всего в структуре таблицы. Возможно есть поля, которые не могут быть пустыми. Возможно типы не проходят.

    А вообще советую всё таки научиться работать с PDO, всё таки mysql_query() уже морально устарела.

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    • 0
    Switch74

    if(isset($_POST['add'])) в это условие попадаем?
    Про оформление запроса и структуру таблицы вам уже подсказали.

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    • 0
    wwt
    В 18.01.2017 в 02:50, BrusSENS сказал:

    Почему переменные в одинарных кавычках пишите?

    Наверное потому что двойные кавычки позволяют вставлять переменные напрямую =)

    <?php
    $str = 'строка';
    echo "первая $str текста";
    echo "вторая {$str} текста";
    echo "третья ".$str." текста";

    Все три варианта выведут корректную строку.

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    • 0
    BrusSENS
    13 часа назад, wwt сказал:

    Наверное потому что двойные кавычки позволяют вставлять переменные напрямую =)

    
    <?php
    $str = 'строка';
    echo "первая $str текста";
    echo "вторая {$str} текста";
    echo "третья ".$str." текста";

    Все три варианты выведут корректную строку.

    Капитан очевидность нарисовался? Или Вы таким образом поумничать решили, не читая моего ответа?

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    • 0
    BrusSENS
    19 минут назад, Switch74 сказал:

    @BrusSENS зря ты так

    А чего зря? Если забанят, то без причины. Человек написал непонятно что и для чего.

    P.S.: мне вообще не понятно, зачем начинающие разработчики не освоив базового синтаксиса начинают работать с другой технологией.

    Изменено пользователем BrusSENS

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    • 0
    wwt
    16 минут назад, BrusSENS сказал:

    А чего зря? Если забанят, то без причины. Человек написал непонятно что и для чего.

    P.S.: мне вообще не понятно, зачем начинающие разработчики не освоив базового синтаксиса начинают работать с другой технологией.

    Почему же непонятно что? Вы задали вопрос автору, я за него вам ответил, что он не допустил никаких ошибок в пунктах 2 и 3 вашего ответа.

    В 18.01.2017 в 02:50, BrusSENS сказал:

    1. Где структура таблицы? (это так, на будущее).

    2. Пишите запросы правильно

    3. Почему переменные в одинарных кавычках пишите? Для начала начните делать так.

    
    mysql_query("INSERT INTO `blog` (`title`, `text`) VALUES ('" . $title . "', '" . $text . "')");

    Запрос правильный.

    Проблема у Вас скорее всего в структуре таблицы. Возможно есть поля, которые не могут быть пустыми. Возможно типы не проходят.

    А вообще советую всё таки научиться работать с PDO, всё таки mysql_query() уже морально устарела.

    Собирать строку запроса используя конкатенацию не обязательно, можно использовать двойные кавычки в которых обрабатываются переменные, и в этом нет никакой ошибки или недоработки. Разве что в некоторых случаях ухудшается читабельность кода.

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    • 0
    BrusSENS
    7 минут назад, wwt сказал:

    Почему же непонятно что? Вы задали вопрос автору, я за него вам ответил, что он не допустил никаких ошибок в пунктах 2 и 3 вашего ответа.

    Опс, точняк, переменные в одинарных кавычках обрабатываются, как положено, с учетом того, что они находятся внутри двойных.

    Мои извинения, не прав.

    Работая с PDO давно забыл уже, что такое вставлять переменные непосредственно в строку запроса)

    Изменено пользователем BrusSENS

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    • 0
    wwt
    7 минут назад, BrusSENS сказал:

    Опс, точняк, переменные в одинарных кавычках обрабатываются, как положено, с учетом того, что они находятся внутри двойных.

    Мои извинения, не прав.

    Работая с PDO давно забыл уже, что такое вставлять переменные непосредственно в строку запроса)

    Да ничего страшного =)

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах

    Создайте аккаунт или войдите в него для комментирования

    Вы должны быть пользователем, чтобы оставить комментарий

    Создать аккаунт

    Зарегистрируйтесь для получения аккаунта. Это просто!

    Зарегистрировать аккаунт

    Войти

    Уже зарегистрированы? Войдите здесь.

    Войти сейчас

    • Войти через Facebook
    • Войти через Twitter
    • Войти через Microsoft
    • Войти через LinkedIn
    • Войти через Google

    • Похожие публикации

      • Sergey2510
        Автор: Sergey2510
        https://proverka1.000webhostapp.com/
        На пк сайт отлично работает, а на сервере не запускает css файлы : wp-content/plugins/fullpage172/fullpage/nav/section/filled-circles.css@ver=2.9.2 ; Перерыл весь интернет и не нашел ответа.Помогите )
      • mightybat
        Автор: mightybat
        Добрый день.
        Есть форма(опросник), переменных на 200, подскажите как можно ее заполнить на компьютере1, и открыть на компьютере2 уже заполненную?
        Может быть есть человеческий способ, решения данной проблемы? 
        Вижу только вариант 1)сохранить все переменные в mysql 2)на втором компе вытащить из БД 3)воссоздать страницу HTML через echo( куча чекбоксов с oncliсk показывающими дивы, которые замучаюсь переписывать с block на none и наоборот).
    • advertisement_alt
    • advertisement_alt
    • advertisement_alt