Cách tốt nhất để xây dựng sql với số lượng điều kiện WHERE khác nhau là gì? Giải pháp của tôi trông xấu xí:cách thanh lịch hơn để xây dựng SQL thêm WHERE và sử dụng trình giữ chỗ
my ($where, @values);
if ($phone_number)
{
$where = 'AND pnone_number=?';
@values = ($from, $till, $phone_number);
}
else
{
$where = '';
@values = ($from, $till);
}
my $sql = 'SELECT * FROM calls WHERE time between ? AND ? '.$where.' ORDER BY time';
my $res = $dbh->selectall_arrayref($sql, undef, @values) or warn 'error';
SQL :: Maker sẽ tóm tắt đi các chi tiết SQL. – DavidO