Newsgroup: it.comp.lang.perl
Titolo: interfacciamento perl-mysql

Salve,
Ho installato i moduli DBI e DBD-Mysql / DBD-ODBC. Inoltre ho installato sul
mio pc anche winmysql e myodbc: non ci sto' capendo più nulla: per
interfacciare i miei script in Perl ho bisogno di configurare in maniera
particolare mysql, myodbc o l'apache?
Non so, forse mi pongo problemi molto stupidi ma inizio ora a utilizzare i
database ma non riesco a far funzionare i miei script sul mio PC.
Ciao e grazie.
-- 
Posted from 
smtp1.libero.it
 [193.70.192.51] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 database ma non riesco a far funzionare i miei script sul mio PC.
Premetto che non sono per niente un esperto per quanto riguarda i database
(mi ci sono avvicinato da circa una settimana!!), però io ho installato i
moduli DBI e DBD-Mysql e WinMySQL e funziona tutto senza nessuna
configurazione da fare...
Forse se posti lo script "incriminato" e gli errori che ricevi ti posso dare
una mano...
Ciao
SK

Ecco il codice: è una prova, è mia intenzione riempire solo il primo record
di una tabella, poi leggere il record e visualizzarlo sul browser:
<code>
use DBI;
$db="db_prova";
 $dbh = DBI->connect("DBI:mSQL:database=$db;host=127.0.0.1",
        undef, undef, {RaiseError => 1});
#== Creo la tabella tramite SQL
$dbh->do ('
   CREATE TABLE rubrica (
      id INTEGER NOT NULL,
      nome CHAR(50),
      cognome CHAR(50)
   )
');
#== inserisco i dati
INSERT INTO rubrica VALUES (
'1',
'Lamberto',
'Formaggini'
);
#== faccio la query
  $sth = $dbh->prepare("SELECT * FROM rubrica");
  $sth->execute();
#== Disconnetto il DB
$dbh->disconnect;
print "$sth";
</code>
L'errore prodotto è:
[info] Parent: Created child process -449045
[info] Parent: Duplicating socket 64 and sending it to child
process -449045.
Il risultato è una pagina bianca.
Grazie per l'aiuto.
Ciao.
-- 
Posted from 
smtp5.libero.it
 [193.70.192.55] 


 print "$sth";
Quando un comando SELECT viene eseguito, crei un set di dati memorizzato in
un area di memoria temporanea sul motore di database, nel linguaggio di
programmazione questo set di dati diventa accessibile attraverso l'handle di
istruzione che nel tuo caso č $sth.
A questo punto perň non hai acquisito di fatto nessun dato, devi scorrere il
cursore all'interno del set di dati e associare i valori a delle variabili
PERL.
Quindi per acquisire i dati fai:
while(($id,$nome,$cognome)=$sth->fetchrow->array))
{
print "$id    $nome   $cognome <BR>";
}

Ho letto un po' le tue prove, c'e' gente + brava di me che ti sta
rispondendo esattemente, ma perche' non esegui prima gli script dalla shell
senza apache e web, cosi' vedi tutti gli errori ?
(ho perso una settimana su quelle robe, ti consiglio :
http://www.odbsoft.com/cook/sources.htm
c'e' del codice ok per quello che vuoi fare )
bye
-- 
Posted from 
mail-5.tiscalinet.it
 [195.130.225.151] 


         undef, undef, {RaiseError => 1});
Ma questo non e' lo stesso script in cui, alcuni giorni fa, ti hanno fatto
notare che devi usare DBI::mysql e non DBI::mSQL nella connect?
Maurizio
-- 
Maurizio M. Munafo' / 
mmmu...@netscape.net
"Consider Phlebas, who was once handsome and tall as you" (T.S.Eliot)

Sto provando ma non riesco a scrivere o a leggere i dati nella tabella:
ringrazio comunque tutti per l'aiuto.
Ciao e grazie di nuovo.
-- 
Posted from 
smtp3.libero.it
 [193.70.192.53] 
