Página 1 de 1

Problemas con DBI y DBD::mysql en Linux

NotaPublicado: 2008-10-31 09:13 @426
por adrian_leo
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:

Sintáxis: [ Descargar ] [ Ocultar ]
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;
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4



Archivo Perl:
Sintáxis: [ Descargar ] [ Ocultar ]
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;
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.

NotaPublicado: 2008-10-31 09:23 @432
por explorer
Bienvenido a los foros de Perl en Español, adrian_leo.

Debes usar la variable $sentenciaSQL en lugar de la $sth.

Si colocas 'use strict;' y 'use warnings;' al principio del programa, Perl te ayudará a encontrar ese tipo de errores.

qué más adrianleo, ¡¡¡ NO SABRAS !!!

NotaPublicado: 2008-11-16 16:31 @730
por EL35VACA
¡¡¡NO SABRAS!!! chiiiiiii, ya te voy a mandar un código a tu mail, algo simple para que entiendas. :lol:, luego me dices si te sirve. Nos vemos en la U. Saludos (Luis, Paúl y Jimena).