|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Alexey Gradovtsev 2:5020/400 19 Aug 2004 16:24:24 To : Artem Chuprina Subject : Re: Динамическое построение таблиц -------------------------------------------------------------------------------- Thu Aug 19 2004 13:18, Artem Chuprina wrote to Alexey Gradovtsev: AC>>> Кстати, обращаю твое AC>>> внимание, что в написанном тобой кавычки у имен и значений _разные_. А AC>>> именно, у значений апострофы прямые, а у имен - обратные. AG>> Угумс. Вечно их путаю. Хотя это, вероятно, неважно: для мыскля, в AG>> таком случае, должны ескейпиться как прямая, так и обратная AG>> кавычка. Hадо будет проверить. AC> Проблема будет в том, что quote не поставит обратный апостроф. Она AC> поставит прямой. Что пригодно для эскейпинга значения, но не имени поля. Дело-то в том, что заменить две крайних кавычки на нужные для конкретной СУБД будет легче, чем вручную искать ВСЕ символы, которые нужно ескейпить для этой СУБД. И уж placeholder'ы тут точно никаким боком не лежали. ... Хотя что за чушь мы обсуждаем! Это ж вообще делается не так! my @col_names = ('col_1', 'col_2', 'col_3'); # И никакая инъекция не страшна... my @turned_on; if ($query->param()) @turned_on = $query->param('columns'); $dbh->selectall_arrayref('SELECT ' . join (',', @col_names[@turned_on]) . ' FROM table') or die $dbh->errstr; print <<END; <table><tr> <th>col1</th> <th>col2</th> <th>col3</th> </tr><tr> <td><input type="checkbox" name="columns" value="0"></td> <td><input type="checkbox" name="columns" value="1"></td> <td><input type="checkbox" name="columns" value="2"></td> </tr></table> <input type="submit" value="Показать"> END Digitally yours, Alexey. --- ifmail v.2.15dev5.3 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/1667953cf4555.html, оценка из 5, голосов 10
|