Wie kann ich eine Abfrage mit Platzhalter in Anführungszeichen verwenden? (perl / postgresql)
Ich versuche das folgende Skript auszuführen:
#!/usr/bin/perl -w
use strict;
use DBI;
my $db = "Pg";
my $db_database = "whatever";
my $user = "whatever";
my $password = "whatever";
my $dbh = DBI->connect("dbi:$db:dbname=$db_database", $user, $password);
my $query = $dbh->prepare (q{SELECT
arrival_date - INTERVAL '? MINUTE'
FROM emails LIMIT 1})
or die ("unable to prepare");
$query->execute(60) or die("unable to execute");
print $query->fetchrow_array, "\n";
(Ankunftsdatum hat dieses Format: Zeitstempel mit Zeitzone NICHT NULL Standard CURRENT_TIMESTAMP)
Das Problem ist, dass der Fragezeichen-Platzhalter nicht erkannt wird, da er in einfachen Anführungszeichen steht:
DBD::Pg::st execute failed: called with 1 bind variables when 0 are needed
Es hilft nicht, wenn ich qq {}, Platzhalter $ 1, benutze und ein paar Variationen mit $ dbh-> quote ausprobiere. Wie kann ich das schaffen?