Forum Webscript.Ru
Программирование => Perl => Тема начата: от 31 Мая 2001, 12:01:00
-
Неудобно даже писать, но помогите написать программу на perl, которая вернула бы значение столбца crontime из запроса
SELECT id,crontime FROM autosend where id = 1
На PHP я написал бы минуты за 3, но на perl ?
Заранее Списибо.
-
Microname (31-05-2001 12:01):
Неудобно даже писать, но помогите написать программу на perl, которая вернула бы значение столбца crontime из запроса
SELECT id,crontime FROM autosend where id = 1
На PHP я написал бы минуты за 3, но на perl ?
Заранее Списибо.
Например, так:
#!/usr/bin/perl
use DBI;
use strict;
my $db_host = "localhost";
my $db_name = "database";
my $db_user = "user";
my $db_pass = "password";
my $dbh = DBI-> connect("DBI:mysql:database=$db_name;host=$db_host",$db_user,$db_pass,{RaiseError=>1}) || die($DBI::errstr);
my $cmd = "select id,crontime from autosend where id = ?";
my $sth = $dbh->prepare($cmd) || die($DBI::errstr);
$sth->execute(\'1\') || die($DBI::errstr);
if (my $hp = $sth -> fetchrow_hashref())
{
print $$hp{\'id\'},$$hp{\'crontime\'};
}
$sth->finish();
$dbh->disconnect();
-
Объясните, плз. конструкцию $$hp. В книжках не встречалась...
-
Читать в направлении ссылок
$test = "123";
$test_ref = \\$test;
print $$test_ref;
> 123
-
О! Есть пища для ума! Ща полазию!
сеньк!
-
а лучше так:
------------------------------------------------------------
#!/usr/bin/perl -w
use strict;
use SQLayer;
my $D=SQLayer->new(database=>\'DBI:mysql:database=phorum;host=localhost;port=3306\',user =>\'user\',passowrd =>\'somepass\');
my $Data=$D->row_hash("SELECT id, crontime FROM autosend where id = 1");
my $NI=0;
while ($Data->[$NI])
{
print "".$Data->[$NI]{\'id\'}.",".$Data->[$NI]{\'crontime\'}."";
$NI++
}
------------------------------------------------------------
на много элегантнее... :)
-
на много элегантнее...
На вкус и цвет....:)))
-
ой... в конец код ещё дисконнект надо добавить... :
undef $D;