Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Otros Temas » Bases de Datos » Problemas con DBI y DBD::mysql en Linux Responder al tema
Nuevo tema


Página 1 de 1  [ 3 mensajes ] 
 
Nota 2008-10-31 09:13 @426

Perlero Nuevo
Registrado: 2008-10-31 08:48 @409
Mensajes: 1
Problemas con DBI y DBD::mysql en Linux
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:

Syntax: [ Download ] [ Hide ]
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;



Archivo Perl:
Syntax: [ Download ] [ Hide ]
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;


y cuando lo ejecuto me da el siguiente error:

Código:
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.


Nota 2008-10-31 09:23 @432
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10271
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.

_________________
JF^D Perl programming


Nota 2008-11-16 16:31 @730

Perlero Nuevo
Registrado: 2008-11-16 16:20 @722
Mensajes: 1
qué más adrianleo, ¡¡¡ NO SABRAS !!!
¡¡¡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).


Responder al tema  [ 3 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO