@@ -, +, @@ number in it) that does not exist in one's catalog will fail to affect SQL statement correctly in C4::Breeding Moved string substitution, which was triggering error when search was undefined, and fixed if statements accordingly. --- C4/Breeding.pm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) --- a/C4/Breeding.pm +++ a/C4/Breeding.pm @@ -179,16 +179,16 @@ sub BreedingSearch { $query .= "z3950random = ?"; @bind=($z3950random); } else { - $search =~ s/(\s+)/\%/g; @bind=(); - if ($search) { + if (defined($search) && length($search)>0) { + $search =~ s/(\s+)/\%/g; $query .= "title like ? OR author like ?"; push(@bind,"%$search%", "%$search%"); } - if ($search && $isbn) { + if ($#bind!=-1 && defined($isbn) && length($isbn)>0) { $query .= " and "; } - if ($isbn) { + if (defined($isbn) && length($isbn)>0) { $query .= "isbn like ?"; push(@bind,"$isbn%"); } --