|
| Perl, Apache og Postgresql Fra : M |
Dato : 18-11-01 17:56 |
|
Hej!
Jeg er ny inden for Linux. Jeg har installeret et RedHat 7.2 system og vil
nu gerne forsøge at lave et Apache web site, der trækker på en postgresql
database. Jeg har installeret Apache, fået den konfigureret så jeg kan
afvikle Perl scripts server side og postgresql ser også ud til at køre (jeg
kan ihvertfald logge ind som postgres bruger og oprette tabeller samt
tilføje data).
Er der nogen, der ved, om jeg mangler noget for at kunne hive oplysninger ud
af databasen? Og vil det være muligt at se et eksempel på, hvordan det
gøres? Jeg har tidligere kun beskæftiget mig med ASP, IIS5 og SQL server...
På forhånd tak for evt. tips og eksempler.
Morten
| |
Peter Makholm (19-11-2001)
| Kommentar Fra : Peter Makholm |
Dato : 19-11-01 07:42 |
|
"M" <morten_skovgaard@hotmail.com> writes:
> Er der nogen, der ved, om jeg mangler noget for at kunne hive oplysninger ud
> af databasen? Og vil det være muligt at se et eksempel på, hvordan det
> gøres? Jeg har tidligere kun beskæftiget mig med ASP, IIS5 og SQL server...
Du skal bruge modulerne DBI og DBD::Pg. Læs dokumentationen til disse,
der står beskrevet hvordan man gør:
$ perldoc DBI
$ perldoc DBD::Pg
--
Når folk spørger mig, om jeg er nørd, bliver jeg altid ilde til mode
og svarer lidt undskyldende: "Nej, jeg bruger RedHat".
-- Allan Olesen på dk.edb.system.unix
| |
wulff (19-11-2001)
| Kommentar Fra : wulff |
Dato : 19-11-01 09:24 |
|
On Sun, 18 Nov 2001 17:55:34 +0100, "M" <morten_skovgaard@hotmail.com>
wrote:
>Er der nogen, der ved, om jeg mangler noget for at kunne hive oplysninger ud
>af databasen?
Umiddelbart mangler du kun at installere de Perl-moduler, der følger
med postgresql (jeg kan ikke lige huske om de bliver installeret
automatisk) _eller_ DBI med den tilhørende driver. Det sidste er nok
at foretrække...
>Og vil det være muligt at se et eksempel på, hvordan det
>gøres? Jeg har tidligere kun beskæftiget mig med ASP, IIS5 og SQL server...
Jeg har smidt et kort eksempel med hhv. postgresql's eget perl modul
og DBI i bunden af denne meddelelse.
/wulff
#!/usr/bin/perl
# postgresql's eget modul
use strict;
use Pg;
# connect to database
my $conn = Pg::connectdb("dbname=worldonline");
die "$conn->errorMessage" unless $conn->status eq
Pg::PGRES_CONNECTION_OK;
# build query
my $query = <<SQL;
SELECT *
FROM t_contacts
WHERE name = 'test'
SQL
# execute query
my $result = $conn->exec($query);
die "$conn->errorMessage" unless $result->resultStatus eq
Pg::PGRES_COMMAND_OK;
#!/usr/bin/perl
# med DBI
use strict;
use DBI;
# connect to database
my $DBH = DBI->connect(<DSN>, <username>, <password>)
or die "$DBI::errstr";
# build query
my $query = <<SQL;
SELECT *
FROM t_contacts
WHERE name = 'test'
SQL
# execute query
my $STH = $DBH->prepare($sql) or die "$DBI::errstr";
$STH->execute() or die "$DBI::errstr";
# print results
while ( my $row = $STH->fetchrow_hashref() )
{
print "$row->{id}\t$row->{name}";
}
# disconnect from database
$DBH->disconnect or die "$DBI::errstr";
| |
|
|