есть SELECT и вывод из таблицы:print"<form action='/cgi-bin/zapros.pl' method='post'>";
while (my @row = $sth1->fetchrow_array)
{
print"<input type='text' name='row' value='$row[0]">
print"<input type='text' name='row' value='$row[1]">
print"<input type='text' name='row' value='$row[2]">
print"<input type='text' name='row' value='$row[3]">
}
print</form>
=======
Теперь в zapros.pl надо делать INSERT в другую таблицу:
принимаю данные из формы:
my $cit = new CGI;
my @p=$cit->param('row');
потом:
$query1="insert into table2(field1,field2,field3,field4) values (?,?,?,?)";
$sth1=$dbh->prepare($query1);
$sth1->execute(@p);
========
Ругается, подскажите pls что я делаю неправельно, заранее благодарен
>Ругается, подскажите pls что я делаю неправельно, заранее благодаренА как именно ругается нельзя было привести?
>>Ругается, подскажите pls что я делаю неправельно, заранее благодарен
>
>А как именно ругается нельзя было привести?
меня интересует если я правельно делаю, а ругается :
execute falled:called with 56 bind variables when 7 are needen
>>>Ругается, подскажите pls что я делаю неправельно, заранее благодарен
>>
>>А как именно ругается нельзя было привести?
>
>
>меня интересует если я правельно делаю, а ругается :
>execute falled:called with 56 bind variables when 7 are needen
учимся приблезительно переводить сообщения об ошибках
->выполнение провалено:вызвано(добавлено) 56 значений(вариаций) когда нужно 7Пояснения у тебя навероное гдето используються в значениях переменных для запроса запятые или массив/хеш и ты из вставляешь в запрос без одиночных ковычек, при формировании строчи, т.к. запятая (или разделитель елементов) воспринимаються в запросе как синтаксис запроса, а не значения переменной и получаеться что в место того чтобы добавить 4 значения ты вставляешь 56 :)
совет при формировании sql запроса ВСЕГДА заключай переменные в одиночные ковычки, не навредит точно, а от многих глюков спасет.
>print"<input type='text' name='row' value='$row[0]">
>print"<input type='text' name='row' value='$row[1]">
>print"<input type='text' name='row' value='$row[2]">
>print"<input type='text' name='row' value='$row[3]">С кавычками здесь напутали.
>print</form>
А тут кавычек вообще нет.
Если на это ругается, то правильно ругается.
>>print"<input type='text' name='row' value='$row[0]">
>>print"<input type='text' name='row' value='$row[1]">
>>print"<input type='text' name='row' value='$row[2]">
>>print"<input type='text' name='row' value='$row[3]">
>
>С кавычками здесь напутали.
>
>>print</form>
>
>А тут кавычек вообще нет.
>
>Если на это ругается, то правильно ругается.
В скрипте все правельно с ковычками, не на это ругается
точно!! лажа с кавычками :-)))