• Publicidad

DBI: Uso de selectrow_hashref

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

DBI: Uso de selectrow_hashref

Notapor Negrazo » 2007-02-17 14:38 @651

Hola a todos:
Estoy en pleno desarrollo de una aplicación en la cual estoy usando Perl con MySQL para manejar documentos dentro de MySQL y en un punto tengo que leer dichos documentos para buscar cierta información, me encontré por allí un ejemplo en donde utilizan:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $imagen = $m->selectrow_hashref("SELECT documento,tipo FROM DocsDetail WHERE llave = '$id' and documentname = '$nombre' ");
   print ((${$imagen}{'tipo'}) ? "Content-type: ${$imagen}{'tipo'}\n\n" : "Content-type: text/html\n\nImagen inexistente o Tipo de dato no soportado");
   binmode(STDOUT);
   print ((${$imagen}{'tipo'}) ? ${$imagen}{'documento'} : '');
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

Y la verdad que no le entiendo.
Yo había usado el fetchrow_array y más o menos lo conozco pero de este no tengo ni idea.
¿¿¿¿Alguien me puede decir qué es lo que hacen estas instrucciones????
Gracias por ayudar a alguien que esta aprendiendo y que con gusto ayuda a los demás.
Negrazo.
Negrazo
Perlero nuevo
Perlero nuevo
 
Mensajes: 100
Registrado: 2006-12-28 12:51 @577
Ubicación: Guadalajara, Mexico

Publicidad

Notapor explorer » 2007-02-17 15:52 @702

selectrow_hashref es la unión de los métodos "prepare", "execute" y "fetchrow_hashref".

Devuelve una referencia a un hash, donde este hash tiene como claves los nombres de los campos de la primera fila de la tabla de resultados devuelta por la consulta.

$imagen es una referencia a un hash.
${ $imagen } es la desreferencia, por lo que es un hash.
${ $imagen }{'tipo'} accede al valor de la clave 'tipo'.

http://search.cpan.org/perldoc/DBI
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

Notapor kidd » 2007-02-17 16:42 @737

explorer escribiste:${ $imagen }{'tipo'} accede al valor de la clave 'tipo'.


Para mi gusto es mucho más legible hacer:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$imagen->{'tipo'}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor Negrazo » 2007-02-19 12:32 @564

Muchas gracias a Kidd y Explorer:
Hoy he aprendido algo nuevo, gracias a ustedes.
Ahora si comprendo lo que vi y lo voy a poner en practica.

Gracias nuevamente.
Negrazo.
Negrazo
Perlero nuevo
Perlero nuevo
 
Mensajes: 100
Registrado: 2006-12-28 12:51 @577
Ubicación: Guadalajara, Mexico


Volver a Intermedio

¿Quién está conectado?

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