За последние 24 часа нас посетили 69184 программиста и 1563 робота. Сейчас ищут 1130 программистов ...

Не вносятся две записи одним INSERT

Тема в разделе "PHP для новичков", создана пользователем viktor72, 17 окт 2017.

Метки:
  1. viktor72

    viktor72 Активный пользователь

    С нами с:
    20 дек 2015
    Сообщения:
    326
    Симпатии:
    6
    Ситуация - В одну таблицу надо внести две записи одним запросом. Вот так не вносится:

    PHP:
    1. $id = $_REQUEST['id'];
    2. $status = $_POST['status'];
    3. $rekruter = $_POST['rekruter'];
    4. $meneger = $_POST['meneger'];
    5.  
    6. $ins = "INSERT INTO tabl (col1, col2, col3) VALUES
    7. ('$id ', '$status ', '$rekruter '),
    8. ('$id ', '$status ', '$meneger ')";
    Вот так вносится:
    PHP:
    1. $ins = "INSERT INTO tabl (col1, col2, col3) VALUES ('$id ', '$status ', '$rekruter ')";
    ТО есть или рекрутер или менеджер вносятся, но вместе нет.
    В чём проблема?
    Дополнительная информация - $id и $status - одинаковое значения в обоих случаях, '$rekruter и '$meneger могут иметь одинаковое значение или разное.
    что не так?
     
  2. виталий032

    виталий032 Активный пользователь

    С нами с:
    31 янв 2014
    Сообщения:
    227
    Симпатии:
    30
    Адрес:
    Владивосток
    А зачем дублировать?
     
    #2 виталий032, 17 окт 2017
    Последнее редактирование: 17 окт 2017
    viktor72 нравится это.
  3. Griffter

    Griffter Новичок

    С нами с:
    27 сен 2017
    Сообщения:
    92
    Симпатии:
    25
    Так а что выдает? есть какие-либо ошибки?
    Если у тебя id - это первичный ключ, то тогда естественно они не запишутся, так как повторяющееся значение будет.
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.815
    Симпатии:
    1.332
    Адрес:
    Лень
    + долбаные пробелы в каждом поле в конце
    --- Добавлено ---
    + уязвимость
    --- Добавлено ---
    + нету валидации переменных
    --- Добавлено ---
    +
    PHP:
    1. ('$id ', '$status ', '$rekruter '), ('$id ', '$status ', '$meneger ')"
    множественное добавление с плейсхолдером = ням ням
     
    Griffter нравится это.
  5. viktor72

    viktor72 Активный пользователь

    С нами с:
    20 дек 2015
    Сообщения:
    326
    Симпатии:
    6
    Там не дублируется - "$recruter два разных значения $meneger
    --- Добавлено ---
    а рекомендации какие?
    --- Добавлено ---
    Заметил - col1 - повторяющиеся значения.
    col2 , col3 - не повторяются. каждое значение уникально. Почему? я не придавал этим полям значение "уникальный". В чём дело?
     
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.815
    Симпатии:
    1.332
    Адрес:
    Лень
    они тебе зачем, если слепо не видишь что выше расписано ?
     
  7. виталий032

    виталий032 Активный пользователь

    С нами с:
    31 янв 2014
    Сообщения:
    227
    Симпатии:
    30
    Адрес:
    Владивосток
    Скрин структуры таблицы, в которую вставляешь данные можешь приложить? Если в MySQL, то она сверху над таблицей во вкладке 'структура'. Делаю ставку на то, что колонка id имеет autoincement, unique, primary key
     
    viktor72 нравится это.
  8. viktor72

    viktor72 Активный пользователь

    С нами с:
    20 дек 2015
    Сообщения:
    326
    Симпатии:
    6
    autoincement, unique - не было такого. Эта таблца не может иметь автоинкремента, она служит для связи двух других табли.
    Убрал все primary key - всё стало вносится . Чем грозит , что все поля без primary key ?
     
  9. виталий032

    виталий032 Активный пользователь

    С нами с:
    31 янв 2014
    Сообщения:
    227
    Симпатии:
    30
    Адрес:
    Владивосток
    Primary key означает первичный ключ, он привязыввается к колонке, а не к таблице и он, вроде!, всегда по умолчанию уникальный. И, поэтому два записи с одинаковым id не могли внестись в таблицу. Он вроде служит для связи таблиц.