Автор Тема: неизвестное кол-во столбцов вставить в mysql  (Прочитано 6900 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн gad

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
есть строка типа
111,22 333,333 5555,11   222,111
фишка  в том что количество столбцов неизвестно.
Их нужно вставить в базу. Базу создал с максимально-возможным кол-вом столбцов - 30.
Можно в операторе INSERT описать заранее все, типа
INSERT (столбец1, столбец2 .... столбец30) VALUES ($data1,$data2...$data30) - так работает но в логах ругается на пустое значение.
ХОЧУ: выкинуть лишние столбцы для этого
формирую оператор INSERT:
for ($i=1; $i<=5;$i++)
    {
    $j=$i-1;
    if ($i==1) {$c="curve$i"; $d="\\$dat[$j]";}
    else {$c="$c ,curve$i";$d="$d ,\\$dat[$j]";}
    }
$sql="INSERT INTO las (uid," . $c .") VALUES (\'$uid\', " . $d .");";
echo $sql - выводит красивый оператор, который должен работать.
Только  он вместо значений пытается вставить строку $dat[1],$dat[2]... - именно как строку, а хочется их значения
( в массиве $dat есть нужные данные).

Оффлайн Tronyx

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 826
  • +0/-0
  • 2
    • Просмотр профиля
неизвестное кол-во столбцов вставить в mysql
« Ответ #1 : 28 Декабря 2002, 13:39:46 »
А нафига ты поставил обратный слеш перед баксом! Такой "оригинальности" я ещё не видел.
С уважением, Владимир Гончаренко - COPI# 93
Ролевая онлайн игра

Оффлайн gad

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
неизвестное кол-во столбцов вставить в mysql
« Ответ #2 : 28 Декабря 2002, 13:54:27 »
если я уберу его - то строка сформирована не будет
$c="$c ,curve$i"; а вот это вернет не строку а значение.
и результат будет куча запятых.

Оффлайн gad

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
неизвестное кол-во столбцов вставить в mysql
« Ответ #3 : 28 Декабря 2002, 14:03:13 »
сори, в переменной $d
$d="$d ,\\$dat[$j]"; <- тут я получаю строку

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
неизвестное кол-во столбцов вставить в mysql
« Ответ #4 : 28 Декабря 2002, 15:14:32 »
Во-первых, скорее всего, у тебя кривая таблица неправильная.
а во-вторых, ты определись, то ты хочешь - имя переменной или значение.
Если куча запятых, то значит у тебя в массиве $dat НЕТ данных

Оффлайн gad

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
неизвестное кол-во столбцов вставить в mysql
« Ответ #5 : 29 Декабря 2002, 06:51:54 »
Изменю вопрос :
 уменя есть в качестве только строки
$sql=SELECT * FTROM table WHERE data=$c;
теперь я делаю $c=3;
и хочу mysql_query($sql); увидеть поиск не по $c а найти "3".
Пытался понять serialize - ничего не понял, может кто растолкует.... Возможно это оно.

Оффлайн Tronyx

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 826
  • +0/-0
  • 2
    • Просмотр профиля
неизвестное кол-во столбцов вставить в mysql
« Ответ #6 : 29 Декабря 2002, 09:57:03 »
Посмотри http://php.net/eval
С уважением, Владимир Гончаренко - COPI# 93
Ролевая онлайн игра

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
неизвестное кол-во столбцов вставить в mysql
« Ответ #7 : 29 Декабря 2002, 11:45:58 »
господи, ну и в чем проблема-то??????
все всегда так запросы составляют!
$c=3;
$sql="SELECT * FTROM table WHERE data=$c";
И ВСЁ!

Троникс, ты переборщил. Не нужен ему никакй тормозной евал.

Оффлайн Tronyx

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 826
  • +0/-0
  • 2
    • Просмотр профиля
неизвестное кол-во столбцов вставить в mysql
« Ответ #8 : 29 Декабря 2002, 12:16:47 »
Цитировать
Троникс, ты переборщил. Не нужен ему никакй тормозной евал.

В том коде что ты привёл он и правда не нужен, но Гад делает через задний проход...
С уважением, Владимир Гончаренко - COPI# 93
Ролевая онлайн игра

Оффлайн gad

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
неизвестное кол-во столбцов вставить в mysql
« Ответ #9 : 29 Декабря 2002, 12:51:11 »
Да зделал я через передний - просто мне интересно знать, есть ли такая функция. Я думаю пригодится...
А на счет тормознутости - это зря.  В жизни eval точно пригодится. Ну к примеру: накидал кучу готовых операторов в базу и вынать их по мере надобности и потребности.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
неизвестное кол-во столбцов вставить в mysql
« Ответ #10 : 29 Декабря 2002, 13:04:33 »
база служит для хранения данных.
гад делает через передний, просто выражается косноязычно.
у него с логикой очень большие проблемы. Отсуствие тормознутости он объясняет тем, что eval может пригодиться.
про хранение готовых операторов в базе я вообще молчу. про функцию include он, наверное, никогда не слышал

Оффлайн gad

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
неизвестное кол-во столбцов вставить в mysql
« Ответ #11 : 29 Декабря 2002, 14:45:44 »
RomikChef  
 Ты наверное все знаеш, и распальцовка у тебя круче.
Только я от тебя отличаюсь тем, что признаю что мало знаю....

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
неизвестное кол-во столбцов вставить в mysql
« Ответ #12 : 29 Декабря 2002, 14:50:13 »
Я не только знаю, я еще и читать и писать умею.
В отличие от тебя, друг мой.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28