За последние 24 часа нас посетили 17940 программистов и 1600 роботов. Сейчас ищут 897 программистов ...

Insert into неизвестные имена столбцов в таблице

Тема в разделе "PHP и базы данных", создана пользователем ChaoS, 2 окт 2010.

  1. ChaoS

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

    С нами с:
    2 окт 2010
    Сообщения:
    6
    Симпатии:
    0
    Есть база данных, соответственно есть там и таблицы, их много. Имя нужной таблицы храниться в переменной $tab. Вопрос: как добавть данные в таблицу с помощью запроса, если названия полей таблицы не известны, но их можно достать оттуда функцией "mysql_field_name". Как будет выглядить такой вид запроса Insert Into для данного случая? помогите кто знает очень надо
     
  2. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Добавить данные с помощью запроса, зная только имена полей?
    А как же типы данных в этих полях? Или вставляете весь мусор в поля одного типа?
     
  3. Gromo

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

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    Полностью согласен с мнением Apple.

    Но возможность есть, если знать кол-во полей.
    Запрос INSERT INTO tablica (`field_1`, `field_2` ... `field_n`) VALUES ('value_1', 'value_2'... 'value_n') можно записать INSERT INTO tablica VALUES ('value_1', 'value_2'... 'value_n')
    и БД автоматически будет подставлять названия полей, как будто мы их все перечислили по порядку.
     
  4. ChaoS

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

    С нами с:
    2 окт 2010
    Сообщения:
    6
    Симпатии:
    0
    В этом то и все дело, что я не знаю заранее ни типы полей ни значения полей, есть только их количество, можно как нибудь запихать в запрос массив в котором у мя лежат конкретные значения?
     
  5. admyx

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

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    И снова мегакостыль.
    1. SHOW COLUMNS
    2. формируем строку запроса.
    3. INSERT INTO '.$fields.' VALUES ('.$values.')
    4. ...
    5. PROFIT!

    А, если не секрет, за каким дьяволом вам это понадобилось?
     
  6. ChaoS

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

    С нами с:
    2 окт 2010
    Сообщения:
    6
    Симпатии:
    0
    Базу фсб ломать)))) ну просто у меня есть куча таблиц в каждой куча полей, и мне както надо добавлять информацию в выбраную таблицу. Мож кто нибудь подскажет как по другому это можно реализовать?
     
  7. ChaoS

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

    С нами с:
    2 окт 2010
    Сообщения:
    6
    Симпатии:
    0
    admyx, а разве можно указывать в запросе Insert массив со значениями полей и массив полей???
     
  8. admyx

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

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    ChaoS
    Я же говорю - "формируем строку" :)
     
  9. ChaoS

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

    С нами с:
    2 окт 2010
    Сообщения:
    6
    Симпатии:
    0
    Ну вот) к этому и сводица моя мысль каторую я не смог выразить)) Как сформировать эту строку запроса?)))) если есть массив полей, массив типов и количество полей