Введение в СУБД MySQL


Example.13.5


sub add3 {

my $subject = para'm( 'subjects');

my $num = param('num');

$name = param('name') if param('name');

my $qname;

($qname = $name) =" s/'/\\'/g;

my $q1 = "insert into test (id, name, subject, num) values ( '.'-,

'$qname', $subject, $num)";

my Sin = $dbh->prepare($q1); $in->execute;

# Извлечем значение ID , которое MySQL создал для нас

my $id = $in->insertid;

my $query = "create table t$id ( id INT NOT NULL,

my $def = "insert into t$id values ( 0, ";

my $total = 0;

my @qs = grep(/^q\d+$/,param);

foreach (@qs) {

$query .= $_ . " INT,\n";

my $value = 0;

$value = param($_) if param($_);

$def .= "lvalue, ";

$total += $value; }

$query .= "total INT\n)"; $def .=-"$total)";

my $in2 = $dbh->prepare($query);

$in2->execute;

my $in3 = $dbh->prepare($def);

$in3->execute;

# Обратите внимание, что мы запоминаем экзамены в отдельных файлах.

# Это полезно при работе с mSQL, поскольку он не поддерживает BLOB.

# (Тип TEXT, поддерживаемый в mSQL 2, можно использовать,

# но это неэффективно.)

# Поскольку мы используем MySQL, можно с таким же успехом

# поместить весь экзамен в BLOB.

open(TEST,">teach/tests/$id") or die("A: $id $!");

print TEST param('test'), "\n";

close TEST;

print header, start_html('title'=>'Экзамен создан',

'BGCOLOR'=>'white');

print <Экзамен создан

Экзамен создан.

<р>

<А HREF=".">Перейти на домашнюю страницу 'В помощь учителю'.

<А HREF="test.cgi">nepeimi на главную страницу экзаменов.

<А HREF="test.cgi?actio,n=add">Добавить следующий экзамен.

END_OF_HTML

}




Начало  Назад  Вперед