Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     07 May 2001  12:18:36
 To : Alex Shevchuk
 Subject : Re: Оцените правильность, плиз...
 -------------------------------------------------------------------------------- 
 
 Здравствуй, Alex Shevchuk.
 
 В твоём письме от Sun, 06 May 2001 17:16:58 +0400 написано:
 
 AS> Hello All.
 
 AS> Сабж, собственно. Также интересует, как оно будет работать при одновременном
 AS> обращении нескольких человек.
 AS> _*/===/*_ _Hу, типа, начало файла_ *mysql.cgi* _*/===/*_
 AS> #!/Perl/5.6.0/bin/MSWin32-x86/perl.exe -w
 
 AS> use CGI;
 AS> use CGI::Carp;
 AS> use DBI;
 AS> use strict;
 
 AS> my $query = new CGI;
 AS> my $database = "test";
 AS> my $db_server = "localhost";
 AS> my $user = "Alex";
 AS> my $password = "";
 AS> my $newname = "";
 AS> my $newemail = "";
 AS> my $dbh;
 AS> my $sth;
 AS> my $rc;
 
 AS> if ($query->param('action'))
 AS> {
 AS>   &set_variables;
 
 Если придется работать под mod_perl или аналогом, будет больно. См. FAQ.
 
 AS>   &db_connect;
 AS>   &add_data;
 AS>   &print_page_start;
 AS>   &print_add_form;
 AS>   &print_data;
 AS>   &print_page_end;
 AS>   &db_cleanup;
 AS> }
 AS> else
 AS> {
 AS>   &db_connect;
 AS>   &print_page_start;
 AS>   &print_add_form;
 AS>   &print_data;
 AS>   &print_page_end;
 AS>   &db_cleanup;
 AS> }
 AS> sub set_variables
 AS> {
 AS>   $newname = $query->param('name');
 AS>   $newemail = $query->param('email');
 AS> }
 
 AS> sub add_data
 AS> {
 AS>   if (($newname ne '') && ($newemail ne ''))
 AS>   {
 AS>     $sth = $dbh->prepare("insert into table1 values (\"$newname\",
 AS> \"$newemail\");")
 
 Сюда тебе много радости насуют и будут правы. perldoc DBI на предмет
 placeholders. Да, ";" в текстах запросов везде лишняя.
 
 AS> or die "Couldn't prepare the query: ", $sth->errstr, "\n";
 $sth->>execute or die "Couldn't execute select statement: ", $sth->errstr,
 AS> "\n";
 AS>   }
 AS> }
 
 AS> sub db_connect
 AS> {
 AS>   $dbh = DBI->connect("DBI:mysql:$database:$db_server", $user, $password);
 
 Результат connect тоже надо проверять...
 
 AS> }
 
 AS> sub db_cleanup
 AS> {
 AS>   $rc = $sth->finish;
 
 $sth->finish if defined $sth;
 
 AS>   $rc = $dbh->disconnect;
 
 $dbh->disconnect if defined $dbh;
 
 А коды завершения можно и не получать. Ты их все равно игнорируешь.
 
 AS> }
 
 AS>   while (@row = $sth->fetchrow_array)
 AS>   {
 AS>     ($name, $email) = @row;
 
 Это делается иначе. perldoc DBI на предмет bind_columns.
 
 AS>     print "<tr><td>$name</td><td>$email</td></tr>\n";
 AS>   }
 
 AS> sub print_page_start
 AS> {
 AS>   print $query->header(-type=>'text/html',-charset=>'WINDOWS-1251');
 
 Я понимаю, что по стандарту оно case insensitive, но на предмет борьбы с
 кривыми браузерами рекомендуется все-таки писать windows-1251... Я, правда,
 сейчас уже не скажу, кто не мог воспринимать в верхнем регистре...
 
 -- 
 Artem Chuprina                            E-mail: ran@ran.pp.ru
 Programmer                                  FIDO: 2:5020/371.32
 Memonet Ltd.                             Phone: +7-095-284-1356
 --- ifmail v.2.15dev5
  * Origin: NTV Internet (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Оцените правильность, плиз...   Alex Shevchuk   06 May 2001 18:16:58 
 Оцените правильность, плиз...   Dmitry Ochnev   06 May 2001 23:38:12 
 Оцените правильность, плиз...   Alex Shevchuk   12 May 2001 19:49:55 
 Оцените правильность, плиз...   Dmitry Ochnev   13 May 2001 12:30:06 
 Re: Оцените правильность, плиз...   Pavel V. Ammosov   07 May 2001 03:39:52 
 Re: Оцените правильность, плиз...   Yuri Khachaturian   07 May 2001 13:56:43 
 Оцените правильность, плиз...   Oleg N. Kotenko   09 May 2001 15:41:21 
 Re: Оцените правильность, плиз...   Ruslan Bondarev   07 May 2001 22:08:31 
 Оцените правильность, плиз...   Alex Shevchuk   12 May 2001 20:02:08 
 Re: Оцените правильность, плиз...   Artem Chuprina   13 May 2001 19:04:04 
 Оцените правильность, плиз...   Alex Shevchuk   15 May 2001 11:54:37 
 Re: Оцените правильность, плиз...   Pavel V. Ammosov   15 May 2001 00:35:38 
 Оцените правильность, плиз...   Alex Shevchuk   15 May 2001 11:49:45 
 Re: Оцените правильность, плиз...   Artem Chuprina   07 May 2001 12:18:36 
 Оцените правильность, плиз...   Alex Shevchuk   12 May 2001 20:21:47 
Архивное /ru.cgi.perl/16483a8267f19.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional