Perl + POO und MySQL-Fehler

Ich habe gerade poo gelernt und ich muss mit Perl spielen, habe dies erreicht, aber ich bekomme nicht die erwartete Ausgabe, Problem mit MySQL? Oder schlechter Code? Ansonsten wird dieselbe Abfrage auf Konsole und Workbench ausgeführt, und dieses Modul fügt chmod + x module.pm hinzu

#!/usr/bin/perl
use warnings;
use strict; 
use DBI;
use DBD::mysql;
package MysqlTest;

sub new{
    my $class = shift;
    my $query={};
    bless($query, $class);
}
sub conexion{
    my $self=shift;
    my($database, $host, $user, $pwd)=@_;
    my $connect = DBI->connect("DBI:mysql:$database:$host", $user, $pwd) or die $DBI::errstr;;
    $self->{"host"}="$host";
    $self->{"database"}="$database";
    $self->{"user"}="$user";
    $self->{"pass"}="$pwd";
    my $mysqlopen = 1;
return;
}
sub consulta{
    my $self=shift;
    if (!$mysqlopen) { &conexion; }
    my $id = "SELECT * FROM save_bookmarks WHERE id='123'";
    $result = $connect->prepare($id);
    $result->execute();
    my @resultado = $result->fetchrow_array();
    print "@resultado\n";
    return;
}
sub datos{
    my $self=shift;
    print "::DATOS DE ACCESO::\n";
    while (($key, $value)=each(%$self)){
        print "$key => $value\n";
    }
}
1;

Diese Datei heißt Methode und erstelltes Objekt. füge zu chmod + x file.pl hinzu, aber ich weiß nicht, was funktioniert nicht?

#!/usr/bin/perl

use MysqlTest;
use warnings;
use strict;

my $mysqltest = MysqlTest->new();
$mysqltest->conexion("bookmarks", "localhost", "root", "pass");
$mysqltest->consulta();

Ausgabe in der Konsole

DBI connect(':','',...) failed: Access denied for user 'delkav'@'localhost' (using password: NO) at MysqlTest.pm line 17.
Access denied for user 'delkav'@'localhost' (using password: NO) at MysqlTest.pm line 17.

irgendeine Idee?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage