Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Perl connessione a mysql

    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

  2. #2
    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);
    per capire meglio usa la guida al modulo DBI inclusa nella distribuzione perl.
    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

  3. #3
    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 );

  4. #4
    Io ho installato il supporto perl ma non capisco come mai non posso usare

    Codice PHP:
    use DBI
    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.

    Mi sapete dare qualche ragguaglio in merito? Cosa devo esattamentre installare?

  5. #5
    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

  6. #6
    Scusa shishii
    Originariamente inviato da shishii
    che sistema operativo usa il computer su cui devi operare?
    Mi dispiace per la tarda risposta ma mi sono trasferito da poco e non ho ancora la possibilita'
    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!

  7. #7
    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

  8. #8
    Ecco di seguito il responso del comando lanciato da shell

    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:~#
    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).

  9. #9
    è 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

  10. #10


    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!


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.