Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Cambiare dati in db Mysql con perl

    Salve in un file perl ho la necessità di cambiare dei valori di un mio database mysql, ma non ho la minima idea di come sia la sintassi per la connessione, il cambio dati e la disconnessione.
    Non è difficile per chi usa perl da tempo .......
    Grazie

  2. #2
    Ciao,

    primo... non è difficile neanche per chi studia un pò.

    secondo... la tua domanda non è chiara... intendi uno *script* perl? cosa devi cambiare?
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  3. #3
    Grazie ........ non hai torto infatti ho studiato un pò qui è lì e avendo buone basi di php ho risolto tutto, solo una cosa se è possibile, lo script perl non funziona se non metto un output video tipo:
    print "testo qualsiasi\n";
    print "secondo testo qualsiasi\n";

    inoltre mi stampa solo la seconda istruzione ......... come mai?
    Hai idea del perchè non funziona lo script (esce se non ricordo male un errore 404) se non metto l'output video?
    Ciao

  4. #4
    si tratta di uno script CGI, cioè evocato via web?

    in questo caso è ovvio che il sistema client-webserver si aspettano una risposta quindi devi alla fine generare un output http, sia che si tratti di codice html, sia che sia una redirezione.

    per il secondo problema bisogna vedere come viene generato l'header, il metodo più diretto è:

    print "Content-type: text/html\n\n";
    print "quello che vuoi\n";
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  5. #5
    Quindi se dovrei farne un uso non via web ........ tipo un file cron jobs non è necessario l'output?

  6. #6
    esatto... può essere addirittura dannoso per cui spesso quando si setta cron per evitare emissioni di output si redireziona in /dev/null, ad esempio:

    /home/utente/cgi-bin/script.pl > /dev/null
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  7. #7
    Complimeti sei preparato .......... vediamo se sai questo :
    Ho da far eseguire a questo script perl due query mysql tipo

    UPDATE tabella1 SET campo1=valore1
    UPDATE tabella2 SET campo2=valore2

    ho preparato il codice così ...... ma non funziona

    my $query = "UPDATE tabella1 SET campo1=valore1 ;";
    $query .= "UPDATE tabella2 SET campo2=valore2 ";

    my $ins=$dbh->prepare("$query");
    $ins->execute();
    $ins->finish();

    da cosa dipende? se faccio una query per volta funziona ma tutte e due no perchè?
    Faccio questo per non mettere troppo codice e per imparare una cosa nuova ;-)

  8. #8
    codice:
    my $query = "UPDATE tabella1 SET campo1=valore1 ;"; 
    $query .= "UPDATE tabella2 SET campo2=valore2 ";
    per molti motivi è meglio non usare questa forma, ma eseguire una query per volta. Vedi esempio dopo.
    codice:
    my $ins=$dbh->prepare("$query"); 
    $ins->execute(); 
    $ins->finish();
    il prepare si usa per i select e simili non per insert update, ecc, dove si usa il metodo "do".

    quindi il tuo codice potrebbe essere:

    codice:
    my @query = (
    "UPDATE tabella1 SET campo1=valore1",
    "UPDATE tabella2 SET campo2=valore2"
    );
    
    foreach $query (@query) {
    $dbh->do($query);
    }
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  9. #9
    Bravo ........ vedi studiando un pò avevo ricavato quella forma un pò contorta ....... ma che funzionava cmq.
    Tu mi hai dato una grande mano facendomi risparmiare molto tempo ... così posso riposare un pò .......
    Grazie e ciao

  10. #10
    bravo riposa.... ... io preferisco continuare a studiare e a imparare
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

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 © 2025 vBulletin Solutions, Inc. All rights reserved.