Forum Webscript.Ru
Программирование => PHP => Тема начата: 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 есть нужные данные).
-
А нафига ты поставил обратный слеш перед баксом! Такой "оригинальности" я ещё не видел.
-
если я уберу его - то строка сформирована не будет
$c="$c ,curve$i"; а вот это вернет не строку а значение.
и результат будет куча запятых.
-
сори, в переменной $d
$d="$d ,\\$dat[$j]"; <- тут я получаю строку
-
Во-первых, скорее всего, у тебя кривая таблица неправильная.
а во-вторых, ты определись, то ты хочешь - имя переменной или значение.
Если куча запятых, то значит у тебя в массиве $dat НЕТ данных
-
Изменю вопрос :
уменя есть в качестве только строки
$sql=SELECT * FTROM table WHERE data=$c;
теперь я делаю $c=3;
и хочу mysql_query($sql); увидеть поиск не по $c а найти "3".
Пытался понять serialize - ничего не понял, может кто растолкует.... Возможно это оно.
-
Посмотри http://php.net/eval
-
господи, ну и в чем проблема-то??????
все всегда так запросы составляют!
$c=3;
$sql="SELECT * FTROM table WHERE data=$c";
И ВСЁ!
Троникс, ты переборщил. Не нужен ему никакй тормозной евал.
-
Троникс, ты переборщил. Не нужен ему никакй тормозной евал.
В том коде что ты привёл он и правда не нужен, но Гад делает через задний проход...
-
Да зделал я через передний - просто мне интересно знать, есть ли такая функция. Я думаю пригодится...
А на счет тормознутости - это зря. В жизни eval точно пригодится. Ну к примеру: накидал кучу готовых операторов в базу и вынать их по мере надобности и потребности.
-
база служит для хранения данных.
гад делает через передний, просто выражается косноязычно.
у него с логикой очень большие проблемы. Отсуствие тормознутости он объясняет тем, что eval может пригодиться.
про хранение готовых операторов в базе я вообще молчу. про функцию include он, наверное, никогда не слышал
-
RomikChef
Ты наверное все знаеш, и распальцовка у тебя круче.
Только я от тебя отличаюсь тем, что признаю что мало знаю....
-
Я не только знаю, я еще и читать и писать умею.
В отличие от тебя, друг мой.