Ciao dovrei inserire dei dati tramite perl in un database Mysql. Come faccio a fare la connessione ed il successiovo inserimento? Perl ha gli stessi comandi di PHP?
Grazie
Alberto
Ciao dovrei inserire dei dati tramite perl in un database Mysql. Come faccio a fare la connessione ed il successiovo inserimento? Perl ha gli stessi comandi di PHP?
Grazie
Alberto
per capire meglio usa la guida al modulo DBI inclusa nella distribuzione perl.codice:use DBI; $dbh = DBI->connect("DBI:mysql:database=$database;host=$hostname;port=$port", $user, $password); $dbh->do("INSERT INTO file_hash (hash,dim) VALUES(?,?)", undef, "HASH",46465);
nell'esempio che ti ho fatto le prime righe mi sembrano chiare.
$hostname è generalmente 127.0.0.1 se il DB è locale.
$dbh->do esegue una query..
Gli ultimi due valori passati alla funzione DO sostituiscono correttamente i due punti interrogativi della query facendo un escape sicuro.
guardati la guida di DBI o DBD.
Ciao
ecco un pò di esempi:
codice:use DBI; $dbh = DBI->connect ("DBI:mysql:dbname=prova_db"); @linea = $dbh->selectrow_array("SELECT * FROM indirizzi"); foreach $line (@linea) { print $line, "\n"; }codice:use DBI; $dbh = DBI->connect ("DBI:mysql:dbname=prova_db"); $sth = $dbh->prepare( q{ SELECT nome, cognome, email FROM indirizzi } ); $sth->execute; while (($nome, $cognome, $email) = $sth->fetchrow_array) { print "$nome $cognome, $email\n"; }codice:use DBI; $dbh = DBI->connect ("DBI:mysql:dbname=prova_db"); $sth = $dbh->prepare("INSERT INTO table(foo,bar,baz) VALUES (?,?,?)"); $sth->execute( $foo, $bar, $baz );
Io ho installato il supporto perl ma non capisco come mai non posso usare
negli script. Mi sono documentato e ho visto che devo installare il dist_file scaricabile dal sito ufficaile CPAN. Ma sembra che sia andato oltre le mie conoscenze.Codice PHP:
use DBI;
Mi sapete dare qualche ragguaglio in merito? Cosa devo esattamentre installare?
che sistema operativo usa il computer su cui devi operare?
Marco Allegretti
shishii@tiscalinet.it
Lang: PERL, PHP, SQL.
Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips
Scusa shishii
Mi dispiace per la tarda risposta ma mi sono trasferito da poco e non ho ancora la possibilita'Originariamente inviato da shishii
che sistema operativo usa il computer su cui devi operare?
di usare Internet se non da un Internet Point.
Comunque uso Linux/Debian. Non ho problemi con php MySQL e Apache (il tutto installato dai codici sorgenti). Ho comunque cercato qualche pacchetto in synaptic con la chiave di ricerca dist_file ma nulla. E poi e' da tenere in considerazione che la macchina interessata e' off-line quindi non posso usare il wget.
Se occorrono altre indicazioni chiedi pure. Resto a disposizione e soprattutto non ho urgenza al riguardo. Grazie!
cosa ti dice il sistema se digiti:
# perl -e 'use DBI;'
Marco Allegretti
shishii@tiscalinet.it
Lang: PERL, PHP, SQL.
Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips
Ecco di seguito il responso del comando lanciato da shell
Ho cercato con Synaptic la chiave dbi.pm e ho installato alcuni pacchetti che sembravano attinenti all'utilizzo perl-apache ma nulla di fatto (Distro Debian).codice:web-1:~# perl -e 'use dbi' Can't locate dbi.pm in @INC (@INC contains: /usr/local/lib/perl5/5.8.8/i686-linux-thread-multi /usr/local/lib/perl5/5.8.8 /usr/local/lib/perl5/site_perl/5.8.8/i686-linux-thread-multi /usr/local/lib/perl5/site_perl/5.8.8 /usr/local/lib/perl5/site_perl/5.6.2 /usr/local/lib/perl5/site_perl .) at -e line 1. BEGIN failed--compilation aborted at -e line 1. web-1:~#
è evidente che devi istallare il modulo DBI e DBD::Mysql
puoi procedere in due modi:
1- scarichi i due moduli da http://search.cpan.org
li scompatti con:
# tar -xzf <file.tar.gz>
entri nella directory creata con:
# cd <directory>
e lo istalli con:
# perl Makefile.PL
# make
# make test
# make install
2- oppure utilizzi la shell di cpan:
# perl -MCPAN -eshell
rispondi alle varie domande (i default in genere vanno bene)
e poi:
cpan> install DBI
e poi
cpan> install DBD::Mysql
Marco Allegretti
shishii@tiscalinet.it
Lang: PERL, PHP, SQL.
Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips
Grazie 1000. Adesso scarico i moduli dai sorgenti. Poi ti terro' aggiornato.
Mi sa che non posso usare la shell CPAN. Il computer non e' collegato a nessuna rete.
Mi auguro che vada tutto per il verso giusto!