За последние 24 часа нас посетили 21994 программиста и 989 роботов. Сейчас ищут 680 программистов ...

не работает команда INSERT

Тема в разделе "PHP для новичков", создана пользователем selivanov, 14 май 2018.

  1. selivanov

    selivanov Новичок

    С нами с:
    1 фев 2017
    Сообщения:
    123
    Симпатии:
    4
    -не получается добавить запись в таблицу
    -соединение с бд есть
    -запрос и вывод данных работает
    -если команду cодержимое переменной $query вставить напрямую в phpmyadmin в -графический интерфейс SQL то запись проходит успешно что означает что синтасических ошибок нет

    //тестовый инсерт:
    $query = "INSERT INTO workers ( name, age, salary ) VALUES ( 'Джон', 20, 700 ) ";
    может причина в структуре таблицы

    http://joxi.ru/Q2K1nogs9NRygr
     
  2. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.989
    Симпатии:
    759
    если соединение есть и запрос правильный, но не работает, значит тут замешаны потусторонние силы
    нужно идти к бабке снимать порчу с базы данных
     
    Deonis нравится это.
  3. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    А кроме того, что вы строку запроса присвоили переменной, что-то еще есть? Покажите, где и как этот запрос выполняете.
     
  4. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @selivanov
    Покажи больше кусок кода, а то по одному запросу мало что ясно, в запросе все верно, и в структуре таблиц все хорошо.
     
  5. selivanov

    selivanov Новичок

    С нами с:
    1 фев 2017
    Сообщения:
    123
    Симпатии:
    4
    задача-3 срабатывает а вот 4 задача где инсерт не работает
    Код (Text):
    1. echo '<p>Task-3</p>';
    2. //Выбрать работников с зарплатой 500$ и id больше 3.
    3.  
    4. //Формируем тестовый запрос:
    5. $query = "SELECT * FROM workers WHERE salary = 500 && id > 3";
    6. //Делаем запрос к БД, результат запроса пишем в $result:
    7. $result3 = mysqli_query($link, $query) or die(mysqli_error($link));
    8. for ($data = []; $row = mysqli_fetch_assoc($result3); $data[] = $row);
    9. var_dump($data);
    10.  
    11.  
    12.  
    13. //==========================================================================================
    14. echo '<p>Task-4</p>';
    15. //Задача. Добавьте нового работника Джона, 20 лет, зарплата 700$.
    16.  
    17. //Формируем тестоввую запись:
    18. $query = "INSERT INTO  workers ( name, age, salary ) VALUES ( 'Джон', 20, 700 ) ";
     
  6. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    А ниже INSERT запроса что находится?
     
  7. selivanov

    selivanov Новичок

    С нами с:
    1 фев 2017
    Сообщения:
    123
    Симпатии:
    4
    ничего
     
  8. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    Ну тогда и запрос не сработает, его же выполнить нужно, примерно так как и при выводе SELECT данных.
    PHP:
    1. $query = "INSERT INTO  `workers` (`name`, `age`, `salary`) VALUES ('Джон', 20, 700)";
    2. $result4 = mysqli_query($link, $query);
     
    #8 _ne_scaju_, 14 май 2018
    Последнее редактирование: 14 май 2018
  9. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.989
    Симпатии:
    759
    добавь в конец
    PHP:
    1. mysqli_query($link, $query);
     
  10. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    :D думаешь поможет?
    я с mysqli не дружу :(
     
    #10 _ne_scaju_, 14 май 2018
    Последнее редактирование: 14 май 2018
  11. selivanov

    selivanov Новичок

    С нами с:
    1 фев 2017
    Сообщения:
    123
    Симпатии:
    4
    мне не нужно вывести то что я инсертил я просто хочу увидеть результат инсерта прямо в phpadmin в обзоре таблицы но результат инсерта при обновлений страницы я не вижу
     
  12. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    Выше код попробуй тебе привели.
     
  13. selivanov

    selivanov Новичок

    С нами с:
    1 фев 2017
    Сообщения:
    123
    Симпатии:
    4
    не работает
     
  14. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.989
    Симпатии:
    759
    PHP:
    1. // присвоит строку запроса переменной $query. Запрос не выполнится, а просто создастся строка
    2. $query="INSERT INTO  `workers` (`name`, `age`, `salary`) VALUES ('Джон', 20, 700)";
    3. //выполнит запрос
    4. mysqli_query($link, $query);
     
    selivanov нравится это.
  15. selivanov

    selivanov Новичок

    С нами с:
    1 фев 2017
    Сообщения:
    123
    Симпатии:
    4
    так и сделал говорю не работает
     
  16. selivanov

    selivanov Новичок

    С нами с:
    1 фев 2017
    Сообщения:
    123
    Симпатии:
    4
    во
    во сработало но после того как вставил обратные кавычки а про них ты ничего не сказал
    аияияи
    с меня спс и большой лайк
     
  17. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    Думаю я тоже помог, так как эти кавычки я поставил :D, выше посмотри сообщение отредактировано до этого, но я не в обиде :) так как ты решил свой вопрос.
     
    selivanov нравится это.
  18. selivanov

    selivanov Новичок

    С нами с:
    1 фев 2017
    Сообщения:
    123
    Симпатии:
    4
     
    _ne_scaju_ нравится это.
  19. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    Пустяки) бывает)
     
  20. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.748
    Симпатии:
    1.321
    Адрес:
    Лень
    пи3дец как легко оказалось
     
  21. selivanov

    selivanov Новичок

    С нами с:
    1 фев 2017
    Сообщения:
    123
    Симпатии:
    4
    у меня вопрос почему же тогда это синтаксис $query = "INSERT INTO workers ( name, age, salary ) VALUES ( 'Джон', 20, 700 ) ";
    если вставить в phpmyadmin в SQL то ошибку не показывает и успешно выполняет команду инсерт
    а из редактора кода (phpstorm) не пишет в таблицу?
     
  22. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    потому что у тебя один sql код в условии, и ты его не выполняешь.
     
    selivanov нравится это.
  23. selivanov

    selivanov Новичок

    С нами с:
    1 фев 2017
    Сообщения:
    123
    Симпатии:
    4
    спасибо