sub get_number { my ($title) = @_; my $sql=""; my $number=0; #print "title: $title\n"; my $dbh = DBI->connect("dbi:mysql:sales:mysql", "nobody", ""); $dbh->do("lock tables numbers write"); $sql = "select * from numbers where title = " . $dbh->quote($title); my $sth = $dbh->prepare($sql); $sth->execute; my $rv = $sth->rows; $sth->finish; #print "rv: $rv\n"; if ($rv > 0) { my $sql = "update numbers set number = number + 1 where title = " . $dbh->quote($title); $dbh->do($sql); $sql = "select number from numbers where title = " . $dbh->quote($title); my $sth = $dbh->prepare($sql); $sth->execute; ($number) = $sth->fetchrow_array; $sth->finish; } else { my $sql = "insert into numbers (title) values (" . $dbh->quote($title) . ")"; $dbh->do($sql); $number = 0; } $dbh->do("unlock tables"); $dbh->disconnect; return ($number); }