Автор Тема: Запись в базу данных  (Прочитано 1845 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Ленивый гость

  • Гость
Запись в базу данных
« : 12 Ноября 2002, 12:08:36 »
Что у мменя здесь не так, помогите начинаещему:
use DBI;
print "content-type:text/html\\n\\n";
$method=$ENV{\'QUERY_STRING\'};
$form_data=~s/%(..)/pack("C", hex($1))/eg;
$form_data=~s/\\n/\\0/g;
@pairs=split(/&/, $form_data);
foreach $pair(@pairs)  {
($name, $value)=split(/=/, $pair);
$form{name}=$value;
}
my $dbh=DBI->connect("DBI:mysql:database=lib; host=localhost", "root", "") or die $DBI::errstr;
if (!$form{\'tema\'})
{
$result="INSERT INTO tema (kod, tema) VALUES (\'\', \'$value{\'tema\'}\')";
print<
Запись в базу прошла успешно
Ok
;
}

где kod автоинкрементное поле
tema символьное
Заполняя форму и вызывая этот скрипт, сначала браузер предлагает сохранить или открыть данный скрипт, а потом быстро выполняет ничего на екран не выводя, и даже запись в базу не вставляет. Помогите плиз.
И второе: где можно взять хорошую литературу по перлу , в часности для работы c бд в инете? Спасибо

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Запись в базу данных
« Ответ #1 : 12 Ноября 2002, 12:16:25 »
Цитировать
Заполняя форму и вызывая этот скрипт, сначала браузер предлагает сохранить или открыть данный скрипт, а потом быстро выполняет ничего на екран не выводя, и даже запись в базу не вставляет. Помогите плиз.

Установи и правильно настрой сначала Perl. Читай DBI или Применение Perl и MySQL для веб приложений (кажется так). Кстати, советую читать обе.
« Последнее редактирование: 12 Ноября 2002, 12:31:40 от NeoNox »
The documentations is your friend

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Запись в базу данных
« Ответ #2 : 12 Ноября 2002, 12:32:34 »
Вот тебе пример:
#! /usr/bin/perl -w

use strict;
use 
CGI qw(:standard);
use 
DBI;

my $tema=param("tema");

if (
$tema eq "tema")
	
{
my $dbh=DBI->connect("DBI:mysql:host=localhost; database=lib""root""") or die $DBI::errstr;
my $sth=$dbh->prepare("INSERT INTO 
                       tema (kod, tema) 
                       VALUES 
                       (\'\', \'
$tema\')";
$sth->finish();
$dbh->disconnect;
print 
header(),
	
start_html (-title => "Simple test DB",
	
                  -
bgcolor => "silver"),
	
p u ("Запись в базу прошла успешно"),
	
end_form();
	
}

Только почитай сначала документацию.
The documentations is your friend

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28