| LibWeb documentation | Contained in the LibWeb distribution. |
LibWeb::Database::Mysql - Mysql database API for libweb applications
use LibWeb::Database::Mysql;
my $db = new LibWeb::Database::Mysql();
my ($where, $count);
$where = 'LOGIN_STATUS = LOGGED_IN';
$count = $db->get_count(
-table => USER_TABLE,
-where => $where
);
print "Content-Type: text/html\n\n";
print "$count users have logged in.";
This class provides enhanced support to MySQL database interaction in you LibWeb applications. This class also ISAs LibWeb::Database so you can use all the methods provided in LibWeb::Database via objects created from this class. See LibWeb::Database. This module is still in the stage of planning as you can tell from the number of methods available.
The current version of LibWeb::Database::Mysql is available at
http://libweb.sourceforge.net
Several LibWeb applications (LEAPs) have be written, released and are available at
http://leaps.sourceforge.net
Variables in all-caps (e.g. USER_TABLE) are those variables set through LibWeb's rc file. Please read LibWeb::Core for more information. Method's parameters in square brackets means optional.
get_count()
Params:
-table =>, -where =>
Pre:
-table is a scalar indicating a database table's name, -where is a scalar describing the `where' phrase of a SQL query.Post:
-where parameter.| LibWeb documentation | Contained in the LibWeb distribution. |
#============================================================================= # LibWeb::Database::Mysql -- Mysql database driver for libweb applications. package LibWeb::Database::Mysql; # Copyright (C) 2000 Colin Kong # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #============================================================================= # $Id: Mysql.pm,v 1.4 2000/07/18 06:33:30 ckyc Exp $ # Implementing common, database-specific subroutines. # This module is for interacting with a MySQL server and therefore # uses MySQL specific syntax and built-in functions. #-############################ # Use standard library. use strict; use vars qw(@ISA $VERSION); #-############################ # Use custom library. require LibWeb::Database; #-############################ # Version. $VERSION = '0.02'; #-############################ # Inheritance. @ISA = qw(LibWeb::Database); #-############################ # Methods. sub new { # # Params: $class [, $rc_file] # # - $class is the class/package name of this package, be it a string # or a reference. # - $rc_file is the absolute path to the rc file for LibWeb. # # Usage: my $object = new LibWeb::Database::Mysql([$rc_file]); # my ($class, $Class, $self); $class = shift; $Class = ref($class) || $class; # Inherit instance variables from the base class. $self = $Class->SUPER::new(shift); bless($self, $Class); # Any necessary initialization. #$self->_init(); # Returns a reference to this object. return $self; } sub DESTROY { # Destructor: performs cleanup when this object is not being referenced # any more. For example, disconnect a database connection, filehandle...etc. my $self = shift; $self->done(); } sub get_count { # # Params: ( -table =>, -where => ). # # Pre: # -table is a scalar indicating the table's name. # -where is a scalar for the `where' phrase of the SQL query. # # Post: # -return the number of counts satisfying the criteria specified in # the -where parameter. # my ($self, $table, $where, $count); $self = shift; ($table, $where) = $self->rearrange( ['TABLE', 'WHERE'], @_ ); $count = $self->do( -sql => "select COUNT(*) " . "from $table " . "where $where" ); $self->finish(); return $count; } 1; __DATA__ 1; __END__