【发布时间】:2011-11-09 02:11:27
【问题描述】:
MySQL、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 子句中使用?
【问题讨论】:
标签: mysql perl placeholder