• Publicidad

Consulta a MySQL

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Consulta a MySQL

Notapor oihantze » 2009-07-13 10:53 @495

Hola, estoy haciendo un programa que me debe de buscar en la base de datos unos determinados registros que cumplan una condición y los resultado de los registros dejármelos en un documento .txt de esta forma:
Sintáxis: [ Descargar ] [ Ocultar ]
  1. (\t) titulo 
  2. (\t) abstract 
  3. (\t)  (\t) link -- dos tabulaciones por delante 


Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use DBI;

open(RESULTADO, ">/home/soiartze/proyecto/programas_necesarios/web/por_contenido/gerarquia_links.txt");

$db="texto_titulo";
$host="localhost";
$port="3306"; # puerto mysql
$usuario="root";
$pw="database";

#realizamos la conexion a la base de datos    
                         
$connectionInfo="DBI:mysql:database=$db;$host;$port";
$conexion=DBI->connect($connectionInfo,$usuario,$pw);

#hacemos la consulta

$nombre_art= "SELECT identificativo,tittle,abstract FROM articulos WHERE codigo=$cont_linea";
$consulta=$conexion->prepare($nombre_art);
$consulta->execute();
@data = $consulta->fetchrow_array();#nos deja en el array los datos del resultado de la consulta
$consulta->finish();
#cogemos los datos y los escribimos en resultado

$link="$data[0]";
$titulo="$data[1]";
$abstract="$data[2]";
print RESULTADO "\t".$titulo."\n";
print RESULTADO "\t".$abstract"\n";                      
print RESULTADO "\t"."\t".$link."\n";
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Esa es la parte del código que creo que falla; al ejecutarlo me da este error:
Sintáxis: [ Descargar ] [ Ocultar ]
  1. DBD::mysql::st fetchrow_array failed: fetch() without execute() at ....(nombre del programa, linea,...) 


¿Alguien me puede ayudar? ¡¡GRACIAS!!
oihantze
Perlero nuevo
Perlero nuevo
 
Mensajes: 25
Registrado: 2009-07-12 17:13 @759

Publicidad

Re: Consulta a MySQL

Notapor oihantze » 2009-07-13 14:44 @655

¡¡¡Hola otra vez!!!

Nada, que ya he resulto el problemilla; era que hacía referencia a una base de datos equivocada... un lapsus, en fin...
¡¡¡jejeje!!!

Gracias a los que os habéis interesado, ¡¡ aunque era normal que no vieseis el fallo :D !!
oihantze
Perlero nuevo
Perlero nuevo
 
Mensajes: 25
Registrado: 2009-07-12 17:13 @759

Re: Consulta a MySQL

Notapor explorer » 2009-07-13 14:58 @665

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use DBI;

open(RESULTADO, ">/home/soiartze/proyecto/programas_necesarios/web/por_contenido/gerarquia_links.txt");

$db      = 'texto_titulo';
$host    = 'localhost';
$port    = 3306;           # puerto mysql
$usuario = 'root';
$pw      = 'database';

# realizamos la conexión a la base de datos
$connectionInfo = "DBI:mysql:database=$db;$host;$port";
$conexion       = DBI->connect($connectionInfo,$usuario,$pw);

# hacemos la consulta
$consulta       = $conexion->prepare("SELECT identificativo,tittle,abstract FROM articulos WHERE codigo=$cont_linea");
$consulta->execute();

@data = $consulta->fetchrow_array();  # nos deja en el array los datos del resultado de la consulta

$consulta->finish();

# cogemos los datos y los escribimos en resultado
$link     = $data[0];
$titulo   = $data[1];
$abstract = $data[2];

print RESULTADO "\t$titulo\n";
print RESULTADO "\t$abstract\n";                      
print RESULTADO "\t\t$link\n";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Hay un error en la línea que sacas el valor de $abstract: te faltaba un punto o una coma. Te lo he puesto de otra manera.

El error mostrado indica que no se ha hecho bien la conexión a la base de datos.
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 0 invitados

cron