• Publicidad

Duda sobre el funcionamiento de este código

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Duda sobre el funcionamiento de este código

Notapor danimera » 2015-05-13 09:15 @427

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use DBI;
  2. # See "Creating database handle" below
  3. $dbh = DBI->connect ("dbi:CSV:", undef, undef, {
  4.     f_ext      => ".csv/r",
  5.     RaiseError => 1,
  6.     }) or die "Cannot connect: $DBI::errstr";
  7.  
  8.  print "Inicio: \n";
  9. # Selecting
  10. my $sth = $dbh->prepare ("select * from fil");
  11. $sth->execute;
  12. $sth->bind_columns (\my ($fname, $lname, $email, $pageid, $studentid,  $a, $b));
  13. my $i =0;
  14. while ($sth->fetch) {
  15.  
  16.     print '$userarray['.$i.'][\'userid\'] = '.$studentid.';'."\n"; # Aqui es mi duda.. cuando $stundeid cambia su valor ?
  17.     print '$userarray['.$i.'][\'cmid\'] = '.$pageid.';'."\n\n";
  18.     $i++;
  19. }
  20.  
  21. $sth->finish;
  22.  
  23. $dbh->disconnect;
  24.  
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4

Mi duda es por qué las variables $studenid y $pageid cambian su valor, si no hay asignación aparente alguna donde se les dé el valor, aunque el hecho es que funciona, pero ¿en qué momento del while estas variables cambian? :( ¿Tendrá algo que ver con esto?
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. $sth->bind_columns (\my ($fname, $lname, $email, $pageid, $studentid,  $a, $b));
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Publicidad

Re: Duda sobre el funcionamiento de este código

Notapor explorer » 2015-05-13 14:10 @632

Pues sí, así es :)

bind_columns(), del módulo DBI, hace que se "asocien" las columnas de la consulta que vamos a recibir, con variables normales. De esa manera, el código queda muy limpio.

Más información en tu perldoc DBI más cercano.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados