[Koha-bugs] [Bug 17979] New: Fatal error when searching from addbooks.pl due to ISBN flaw
bugzilla-daemon at bugs.koha-community.org
bugzilla-daemon at bugs.koha-community.org
Tue Jan 24 05:30:08 CET 2017
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=17979
Bug ID: 17979
Summary: Fatal error when searching from addbooks.pl due to
ISBN flaw
Change sponsored?: ---
Product: Koha
Version: master
Hardware: All
OS: All
Status: NEW
Severity: minor
Priority: P5 - low
Component: Searching
Assignee: gmcharlt at gmail.com
Reporter: dcook at prosentient.com.au
QA Contact: testopia at bugs.koha-community.org
If you're doing a "Cataloging Search" from
/cgi-bin/koha/cataloguing/addbooks.pl, and you type in "1st to die", you'll see
the following:
DBD::mysql::st execute failed: You have an error in your SQL syntax; check the
manual that corresponds to your MariaDB server version for the right syntax to
use near '' at line 5 at /<koha>/lib/C4/Breeding.pm line 107
The reason is that the string is 10 characters long and contains a digit, so
Koha thinks it's an ISBN. But when it tries to normalize it, it fails, and
instead Koha generates no data for the WHERE clause and then the SQL statement
fails because it contains a WHERE without the actual clause.
The code:
if ($query) {
# fill isbn or title, depending on what has been entered
#u must do check on isbn because u can find number in beginning of title
#check is on isbn legnth 13 for new isbn and 10 for old isbn
my ( $title, $isbn );
if ($query=~/\d/) {
my $clean_query = $query;
$clean_query =~ s/-//g; # remove hyphens
my $querylength = length $clean_query;
if ( $querylength == 13 || $querylength == 10 ) {
$isbn = $query;
}
}
if (!$isbn) {
$title = $query;
}
( $countbr, @resultsbr ) = BreedingSearch( $title, $isbn );
}
--
You are receiving this mail because:
You are watching all bug changes.
More information about the Koha-bugs
mailing list