tengo en mi directorio web un subdirectorio perl, con dos archivos: dos.pl y dosc.pl
dos.pl
Código:
#!/usr/bin/perl -w
package dos;
use strict;
use DBI;
# variables a editar
my $db_user = "root";
my $db_pass = "123";
my $host_name = "localhost";
my $db_name = "mibase";
# vars
my $q_string = "DBI:mysql:host=$host_name;database=$db_name";
sub connect{
return (DBI->connect ($q_string, $db_user, $db_pass,
{PrintError => 0, RaiseError => 1}));
}
1;
dosc.pl
Código:
#!/usr/bin/perl -w
use dos;
my($dbh,$sth);
$dbh = dos->connect();
$sth = $dbh->prepare('SELECT pas,usuario FROM usuarios WHERE id_usuario = ? AND nombre = ?') or die("Couldn't " . $dbh->errstr);
$sth->execute(1,"alf") or die("Couldn't execute" . $sth->errstr);
my ($pas,$usuario) = $sth->fetchrow_array();
$sth->finish;
$dbh->disconnect;
sobre la consulta es valida aqui va lo que tengo en mi base
Código:
mysql> select usuario,id_usuario,pas,nombre from usuarios;
+---------+------------+------+--------+
| usuario | id_usuario | pas | nombre |
+---------+------------+------+--------+
| beta | 2 | atab | beta |
| alf | 1 | fla | alf |
| cobo | 3 | oboc | cobo |
| dedo | 4 | oded | dedo |
| eco | 5 | oce | eco |
+---------+------------+------+--------+
cuando lo llamo lo llamo asi:
Código:
localhost/perl/dosc.pl
que le falta para que funcione?
el directorio sí es accesible por web y per funciona, tambien el root de mysql accede desde fuera. Trabajo en puppy gnu/linux 4 con mysql, hiawatha, y perl 5.8.8