Ver Mensaje Individual
  #4 (permalink)  
Antiguo 09/11/2004, 21:38
kidd
 
Fecha de Ingreso: mayo-2003
Mensajes: 328
Antigüedad: 21 años, 10 meses
Puntos: 0
Hola:

El problema esta en el query de tu mysql. Aquí te va el código. Corregí ese problema y te limpie un poco tu código:

Código:
#!/usr/bin/perl -w

use DBI;
use strict;

my $db_name="CENTRAL"; #Nombre de las base de datos
my $db_user="root"; #Usuario de la BD
my $db_pass="central"; #Password de la BD
my $tabla="prueba"; #Nombre de la tabla de ejemplo
my $host_name="localhost"; #Nombre de la tabla de ejemplo


#TU VARIABLE DE DATOS
my ($datos);

my $dbh = &connect_mysql;
#Decimos que hemos conectado
print "\nSe ha conectado con la BD $db_name del driver mysql\n";


my $sth = $dbh->prepare('INSERT INTO prueba SET datos=?') or die("Couldn't prepare statement: " . $dbh->errstr);
  $sth->execute("$datos") or die("Couldn't execute statement: " . $sth->errstr);
  $sth->finish;
$dbh->disconnect;


#FUNCION PARA CONECTAR
#ASÍ NO TIENES QUE USAR TANTO CÓDIGO
sub connect_mysql{

#Conectamos con la BD, si no podemos, ponemos un mensaje de error
my $q_string = "DBI:mysql:host=$host_name;database=$db_name";

   return(DBI->connect($q_string, $db_user, $db_pass,
                         {PrintError => 0, RaiseError => 1}));

}

SALUDOS
__________________
Uriel Lizama, Perl Developer

Aprende Perl en Perl en Español.