Problemas con DBI y DBD::mysql en Linux
Publicado: 2008-10-31 09:13 @426
Saludos Perleros,
Soy totalmente nuevo en este lenguaje, he bajado algunos ejemplos pero no sé ni cómo empezar. Les agradecería mucho si me pueden ayudar y guiar.
Les comento. Quiero conectarme a MySQL con Perl, y tengo un módulo (nombre: /usr/lib/perl/5.8.8/conexionMySQL.pm) con el siguiente código:
Archivo Perl:
y cuando lo ejecuto me da el siguiente error:
¿Alguien sabe de qué puede ser el error?
Gracias por su ayuda.
Soy totalmente nuevo en este lenguaje, he bajado algunos ejemplos pero no sé ni cómo empezar. Les agradecería mucho si me pueden ayudar y guiar.
Les comento. Quiero conectarme a MySQL con Perl, y tengo un módulo (nombre: /usr/lib/perl/5.8.8/conexionMySQL.pm) con el siguiente código:
Using perl Syntax Highlighting
#!/usr/bin/perl -w
package conexionMySQL;
use strict;
use DBI;
my $usuario = "root";
my $clave = "clave";
my $host = "localhost";
my $base= "database";
my $info_conection = "DBI:mysql:host=$host; database=$base";
sub conectar{
return (DBI->connect($info_conection, $usuario, $clave, {PrintError => 0, RaiseError => 1}));
}
1;
package conexionMySQL;
use strict;
use DBI;
my $usuario = "root";
my $clave = "clave";
my $host = "localhost";
my $base= "database";
my $info_conection = "DBI:mysql:host=$host; database=$base";
sub conectar{
return (DBI->connect($info_conection, $usuario, $clave, {PrintError => 0, RaiseError => 1}));
}
1;
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
Archivo Perl:
Using perl Syntax Highlighting
#!/usr/bin/perl
use conexionMySQL;
my $nombrevar = "leonardo";
$dbh = conexionMySQL -> conectar();
#Prepara la sentencia
$sentenciaSQL = $dbh->prepare('INSERTO INTO prueba nombre = ?') or die ("No se pudo preparar la sentencia: " . $dbh->errstr);
#Ejecuta la sentencia
$sth -> execute($nombrevar) or die ("No se pudo ejecutar la sentencia:" . $sth->errstr);
$sth -> finish;
#Cierra la conexion
$sth -> disconnect;
use conexionMySQL;
my $nombrevar = "leonardo";
$dbh = conexionMySQL -> conectar();
#Prepara la sentencia
$sentenciaSQL = $dbh->prepare('INSERTO INTO prueba nombre = ?') or die ("No se pudo preparar la sentencia: " . $dbh->errstr);
#Ejecuta la sentencia
$sth -> execute($nombrevar) or die ("No se pudo ejecutar la sentencia:" . $sth->errstr);
$sth -> finish;
#Cierra la conexion
$sth -> disconnect;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
y cuando lo ejecuto me da el siguiente error:
- Código: Seleccionar todo
root@noc02:/home/acollantes/perl# perl prueba.pl
Can't call method "execute" on an undefined value at prueba.pl line 12.
¿Alguien sabe de qué puede ser el error?
Gracias por su ayuda.