MySQL、Perlmysql perlプレースホルダルール
次の選択は、プレースホルダなしでうまく動作しますが、プレースホルダでは機能しません。 SQLエラーは生成されませんが、プレースホルダのない同じステートメントと同じカウントではなく、すべての空白/ゼロが戻されます。
my $sql="SELECT ?, SUM(IF(H1='1',1,0)) AS banner1 FROM table_name WHERE (?!='' and ? IS NOT NULL) GROUP BY ?";
my $sth = $dbh->prepare($sql);
my $variable = "Q1";
$sth->execute($variable, $variable, $variable, $variable);
私は間違っていますか?
プレースホルダを意図しない方法で使用しようとしていますか? WHERE句でプレースホルダのみを使用する場合に機能します。 SELECT句またはGROUP BY句でプレースホルダを使用すると機能しません。これは問題ですか?プレースホルダはWHERE句でのみ使用できますか?