Forum Webscript.Ru

Программирование => PHP => Тема начата: gad от 28 Декабря 2002, 13:22:54

Название: неизвестное кол-во столбцов вставить в mysql
Отправлено: gad от 28 Декабря 2002, 13:22:54
есть строка типа
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 есть нужные данные).
Название: неизвестное кол-во столбцов вставить в mysql
Отправлено: Tronyx от 28 Декабря 2002, 13:39:46
А нафига ты поставил обратный слеш перед баксом! Такой "оригинальности" я ещё не видел.
Название: неизвестное кол-во столбцов вставить в mysql
Отправлено: gad от 28 Декабря 2002, 13:54:27
если я уберу его - то строка сформирована не будет
$c="$c ,curve$i"; а вот это вернет не строку а значение.
и результат будет куча запятых.
Название: неизвестное кол-во столбцов вставить в mysql
Отправлено: gad от 28 Декабря 2002, 14:03:13
сори, в переменной $d
$d="$d ,\\$dat[$j]"; <- тут я получаю строку
Название: неизвестное кол-во столбцов вставить в mysql
Отправлено: Меняздесьдавнонет от 28 Декабря 2002, 15:14:32
Во-первых, скорее всего, у тебя кривая таблица неправильная.
а во-вторых, ты определись, то ты хочешь - имя переменной или значение.
Если куча запятых, то значит у тебя в массиве $dat НЕТ данных
Название: неизвестное кол-во столбцов вставить в mysql
Отправлено: gad от 29 Декабря 2002, 06:51:54
Изменю вопрос :
 уменя есть в качестве только строки
$sql=SELECT * FTROM table WHERE data=$c;
теперь я делаю $c=3;
и хочу mysql_query($sql); увидеть поиск не по $c а найти "3".
Пытался понять serialize - ничего не понял, может кто растолкует.... Возможно это оно.
Название: неизвестное кол-во столбцов вставить в mysql
Отправлено: Tronyx от 29 Декабря 2002, 09:57:03
Посмотри http://php.net/eval
Название: неизвестное кол-во столбцов вставить в mysql
Отправлено: Меняздесьдавнонет от 29 Декабря 2002, 11:45:58
господи, ну и в чем проблема-то??????
все всегда так запросы составляют!
$c=3;
$sql="SELECT * FTROM table WHERE data=$c";
И ВСЁ!

Троникс, ты переборщил. Не нужен ему никакй тормозной евал.
Название: неизвестное кол-во столбцов вставить в mysql
Отправлено: Tronyx от 29 Декабря 2002, 12:16:47
Цитировать
Троникс, ты переборщил. Не нужен ему никакй тормозной евал.

В том коде что ты привёл он и правда не нужен, но Гад делает через задний проход...
Название: неизвестное кол-во столбцов вставить в mysql
Отправлено: gad от 29 Декабря 2002, 12:51:11
Да зделал я через передний - просто мне интересно знать, есть ли такая функция. Я думаю пригодится...
А на счет тормознутости - это зря.  В жизни eval точно пригодится. Ну к примеру: накидал кучу готовых операторов в базу и вынать их по мере надобности и потребности.
Название: неизвестное кол-во столбцов вставить в mysql
Отправлено: Меняздесьдавнонет от 29 Декабря 2002, 13:04:33
база служит для хранения данных.
гад делает через передний, просто выражается косноязычно.
у него с логикой очень большие проблемы. Отсуствие тормознутости он объясняет тем, что eval может пригодиться.
про хранение готовых операторов в базе я вообще молчу. про функцию include он, наверное, никогда не слышал
Название: неизвестное кол-во столбцов вставить в mysql
Отправлено: gad от 29 Декабря 2002, 14:45:44
RomikChef  
 Ты наверное все знаеш, и распальцовка у тебя круче.
Только я от тебя отличаюсь тем, что признаю что мало знаю....
Название: неизвестное кол-во столбцов вставить в mysql
Отправлено: Меняздесьдавнонет от 29 Декабря 2002, 14:50:13
Я не только знаю, я еще и читать и писать умею.
В отличие от тебя, друг мой.