Página 1 de 1

Consulta no recupera datos

NotaPublicado: 2016-05-11 16:31 @730
por coltx
Estimados, me pasa algo extraño. Tengo el siguiente script para recuperar datos con fecha null en MySQL, pero al ejecutar el script no me recupera los datos. Sin embargo, si ejecuto la misma consulta en phpmyadmin, por ejemplo, esta sí me trae información... Favor, su ayuda, que no logro dar con el problema...

#!/usr/bin/perl

use DBI;

my $database = "FACTURA";
my $data_source= "DBI:mysql:$database;" ;
my $username = "usuario";
my $password = "password";


my $sql = DBI->connect($data_source,$username,$password)
or die "Couldn't connect to database: " . DBI->errstr;


$sth=$sql->prepare("SELECT DISTINCT fac_num,fac_tipo,fac_neto FROM Factura,Archivo WHERE arc_cli_id ='1' AND arc_doc_id=fac_doc_id AND fac_fecha IS NULL")
or die $sql->errstr();
$sth->execute() or die $sth->errstr();
while(my @row=$sth->fetchrow_array)
{
print "@row[0]\";
}

Re: Consulta no recupera datos

NotaPublicado: 2016-05-11 17:13 @759
por explorer
¿Qué pretendes con @row[0]?

Está mal escrito. O escribes

print "$row[0]\n"

con lo que recuperas el primer valor del array, o escribes

print "@row\n"

con lo que recuperas todos los valores del array (al estar entre comillas dobles, se produce una interpolación del array, en todos sus valores, unidos por el valor $", que por defecto es ' ').

Supongo que quieres hacer el segundo caso.

Re: Consulta no recupera datos

NotaPublicado: 2016-05-16 12:47 @574
por coltx
Efectivamente, explorer, quiero realizar lo segundo.

El tema es que me recupera las filas, pero no todas... Por alguna razón que desconozco en la BD tengo 10 líneas con fac_fecha NULL y al ejecutar el script no me trae todas las que cumplen la condición.

Re: Consulta no recupera datos

NotaPublicado: 2016-05-16 16:28 @728
por explorer
La condición no es solo que fac_fecha sea NULL... hay algo más.

arc_cli_id ='1' AND arc_doc_id=fac_doc_id AND fac_fecha IS NULL