return "V$cardnumber$rem";
} else {
- # MODIFIED BY JF: mysql4.1 allows casting as an integer, which is probably
- # better. I'll leave the original in in case it needs to be changed for you
- # my $sth=$dbh->prepare("select max(borrowers.cardnumber) from borrowers");
my $sth = $dbh->prepare(
- "select max(cast(cardnumber as signed)) from borrowers"
+ 'SELECT MAX( CAST( cardnumber AS SIGNED ) ) FROM borrowers WHERE cardnumber REGEXP "^-?[0-9]+$"'
);
$sth->execute;
my ($result) = $sth->fetchrow;
sub GetAllIssues {
my ( $borrowernumber, $order, $limit ) = @_;
- #FIXME: sanity-check order and limit
- my $dbh = C4::Context->dbh;
+ my $dbh = C4::Context->dbh;
my $query =
- "SELECT *, issues.timestamp as issuestimestamp, issues.renewals AS renewals,items.renewals AS totalrenewals,items.timestamp AS itemstimestamp
+'SELECT *, issues.timestamp as issuestimestamp, issues.renewals AS renewals,items.renewals AS totalrenewals,items.timestamp AS itemstimestamp
FROM issues
LEFT JOIN items on items.itemnumber=issues.itemnumber
LEFT JOIN biblio ON items.biblionumber=biblio.biblionumber
LEFT JOIN biblio ON items.biblionumber=biblio.biblionumber
LEFT JOIN biblioitems ON items.biblioitemnumber=biblioitems.biblioitemnumber
WHERE borrowernumber=? AND old_issues.itemnumber IS NOT NULL
- order by $order";
- if ( $limit != 0 ) {
+ order by ' . $order;
+ if ($limit) {
$query .= " limit $limit";
}
my $sth = $dbh->prepare($query);
- $sth->execute($borrowernumber, $borrowernumber);
- my @result;
- my $i = 0;
- while ( my $data = $sth->fetchrow_hashref ) {
- push @result, $data;
- }
-
- return \@result;
+ $sth->execute( $borrowernumber, $borrowernumber );
+ return $sth->fetchall_arrayref( {} );
}