Napisałem próbkę programu Perl, aby usunąć dane z tabeli bazy danych.Dlaczego otrzymuję 0E0 dla zwracanej wartości metody "execute" DBI?
Jest to kod Pisałem,
use DBI;
my $dbh = DBI->connect("DBI:Pg:host=192.168.12.23;port=5432;", "adhi");
if ($dbh) {
print "Connected successfully\n";
my $exe = $dbh->prepare("delete from perl_test.test");
my $res = $exe->execute();
if ($res) {
print "deleted the table successfully of rows: $res\n";
}
}
Gdybym Wykonaliśmy powyższego należy wydrukować pomyślne wiadomości, a następnie liczbę wierszy usuniętych.
Jeśli tabela była pusta, wydrukowano 0E0
zamiast 0
. Nie wiem, jak zwraca wartość w ten sposób?
Czy ktoś może mi wyjaśnić, jak to działa?
Pisałeś * "W tym, że użyłem metody" wykonaj "do wykonania zapytania" * ale twój program * nie * używa metody 'do', więc usunąłem to zdanie. Proszę również odpowiednio wstawić kod Perla, aby był czytelny, szczególnie zanim poprosisz o pomoc. – Borodin
Dzięki Borodin. Zmienię to. –