Jest to standardowa wkładania przykład z DBI instrukcji:Perl DBI: jak wyświetlić nieudane zapytanie z powiązanymi wartościami?
my $query = q{
INSERT INTO sales (product_code, qty, price) VALUES (?, ?, ?)
};
my $sth = $dbh->prepare($query) or die $dbh->errstr;
while (<>) {
chomp;
my ($product_code, $qty, $price) = split /,/;
$sth->execute($product_code, $qty, $price) or die ($query . " " . $dbh->errstr);
}
$dbh->commit or die $dbh->errstr;
I zmodyfikowane go nieco, aby można było zobaczyć, na którym matryca zapytania nie powiodło się (die ($query . " " . $dbh->errstr)
). Nadal chciałabym zobaczyć zapytanie z powiązanymi wartościami (gdy zostało wykonane). Jak to zdobyć?
Edit
Btw, znalazłem niezgrabny sposób, aby zobaczyć kwerendy z wartościami związanymi też: trzeba zrobić błąd składni w zapytaniu. Na przykład, jeśli zapytanie powyżej zmienić tak:
my $query = q{
xINSERT INTO sales (product_code, qty, price) VALUES (?, ?, ?)
};
mam go z powrotem jak chciałam:
DBD :: mysql :: st execute nie powiodło się: masz błąd w składni SQL ; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL dla właściwej składni do użycia w pobliżu: "próbka xINSERT INTO (kod_produktu, ilość, cena) WARTOŚCI (" 1 "," 2 "," 3 ")" w linii 1
Czasami to naprawdę pomaga. Przynajmniej mi to zrobił.
Dziękuję za wskazanie dobrego kierunku. Wciąż chciałbym wskazać na mój dodatek w OP. –