This is Yet Another Sql Abstraction Library. Include it in your script and
you can use the most important SQL functions without worrying about the SQL
backend. Currently supports Mysql, mSQL (untested), PostgreSQL and ODBC.
Beware: this is ALPHA code, use it at your own risk!
<?
/*
* SAL - SQL Abstraction Library
* version 0.01
* Gianugo Rabellino <nemorino@opera.it>
*
* - 28/07: MySQL Support - mSQL support
* - 29/07: PostgreSQL Support
* - 03/08: ODBC Support
*/
/*
*
* Set the variable $dbtype to any of the following
* values: MySQL, mSQL, Postgres, ODBC before including
* this library
*
*/
/* $dbtype = "MySQL"; */
/* $dbtype = "mSQL"; */
/* $dbtype = "PostgreSQL"; */
/* $dbtype = "ODBC"; */
/*
* SQL_connect($host, $user, $password, $db)
* returns the connection ID
*/
function SQL_connect($host, $user, $password, $db)
{
global $dbtype;
switch ($dbtype) {
case "MySQL":
$conn=mysql_pconnect($host, $user, $password);
mysql_select_db($db);
return $conn;
break;;
case "mSQL":
$conn=msql_pconnect($host);
msql_select_db($db);
return $conn;
break;;
case "PostgreSQL":
$conn=pg_pconnect($host,"5432","",$db);
return $conn;
break;;
case "ODBC":
$conn=odbc_pconnect($db,$user,$password);
return $conn;
break;;
default:
$conn=mysql_pconnect($host, $user, $password);
mysql_select_db($db);
return $conn;
break;;
}
}
/*
* SQL_query($host, $user, $password, $db)
* executes an SQL statement, returns a result identifier
*/
function SQL_query($query, $id)
{
global $dbtype;
switch ($dbtype) {
case "MySQL":
$res=mysql_query($query, $id);
return $res;
break;;
case "mSQL":
$res=msql_query($query, $id);
return $res;
break;;
case "PostgreSQL":
$res=pg_exec($id,$query);
return $res;
break;;
case "ODBC":
$rid=odbc_prepare($id,$query);
$res=odbc_execute($rid);
return $res;
break;;
default:
$res=mysql_query($query, $id);
return $res;
break;;
}
}
/*
* SQL_num_rows($host, $user, $password, $db)
* given a result identifier, returns the number of affected rows
*/
function SQL_num_rows($res)
{
global $dbtype;
switch ($dbtype) {
case "MySQL":
$rows=mysql_num_rows($res);
return $rows;
break;;
case "mSQL":
$rows=msql_num_rows($res);
return $rows;
break;;
case "PostgreSQL":
$rows=pg_numrows($res);
return $rows;
break;;
case "ODBC":
$rows=odbc_num_rows($res);
return $rows;
break;;
default:
$rows=mysql_num_rows($res);
return $rows;
break;;
}
}
/*
* SQL_fetchrow($res,$row)
* given a result identifier, returns an array with the resulting row
* Needs also a row number for compatibility with PostgreSQL
*/
function SQL_fetch_row($res, $nr)
{
global $dbtype;
switch ($dbtype) {
case "MySQL":
$row = array();
$row = mysql_fetch_row($res);
return $row;
break;;
case "mSQL":
$row = array();
$row = msql_fetch_row($res);
return $row;
break;;
case "PostgreSQL":
$row = array();
$row = pg_fetch_row($res,$nr);
return $row;
break;;
case "ODBC":
$row = array();
$cols = odbc_fetch_into($res, $nr, &$row);
return $row;
break;;
default:
$row = array();
$row = mysql_fetch_row($res);
return $row;
break;;
}
}
/*
* SQL_fetch_array($res,$row)
* given a result identifier, returns an associative array
* with the resulting row using field names as keys.
* Needs also a row number for compatibility with PostgreSQL.
*/
function SQL_fetch_array($res, $nr)
{
global $dbtype;
switch ($dbtype) {
case "MySQL":
$row = array();
$row = mysql_fetch_array($res);
return $row;
break;;
case "mSQL":
$row = array();
$row = msql_fetch_array($res);
return $row;
break;;
case "PostgreSQL":
$row = array();
$row = pg_fetch_array($res,$nr);
return $row;
break;;
/*
* ODBC doesn't have a native _fetch_array(), so we have to
* use a trick. Beware: this might cause HUGE loads!
*/
case "ODBC":
$row = array();
$result = array();
$result = odbc_fetch_row($res, $nr);
$nf = count($result)+2; /* Field numbering starts at 1 */
for($count=1; $count < $nf; $count++) {
$field_name = odbc_field_name($res, $count);
$field_value = odbc_result($res, $field_name);
$row[$field_name] = $field_value;
}
return $row;
break;;
}
}
?>
PostGreSQL and MySQL 2 in 1 db Manager Categories : PHP , PHP Classes , Databases , PostgreSQL , MySQL bookmarker - PHP, PHPLIB, MySQL WWW based bookmark manager Categories : MySQL , PHP , MySQL , Complete Programs , Databases This program allows you to upload an ODBC ressource - i.e. an MS-Access database to a MySQL server. Categories : Databases , MySQL , Complete Programs , PHP , Databases Simple usersOnline class - keep track of how many users are online on your site Categories : PHP , PHP Classes , Databases , MySQL MySQL Web Interface Categories : MySQL , Databases , PHP Checks Date-Input from HTML-Forms and converts to YYYY-MM-DD Format for MySQL Date-Fields Categories : MySQL , Date Time , PHP , Databases A PHP useradmin for MySQL. Uploading is easy. The only thing you need is
PHP and MySQL installed! Categories : MySQL , Databases , PHP , HTML and PHP MyOrgBook - Online Organizer written in PHP & MySql. Includes online contacts, todo, calendar, update, delete, insert, multi-user interface. Categories : PHP , MySQL , Calendar , PDAs and Organizers , Databases This is a database wrapper for PostgreSQL, but can be simply modified for any other database type. Categories : Databases , PostgreSQL , PHP How to thread a list of messages in database
and show it in a treelike structure Categories : PHP , MySQL , Databases Solution to those 'tell-a-friend' type email issues Categories : PHP , Email , Databases , MySQL PHP Object Example of the Perl DBI with MySQL Categories : PHP , PHP Classes , MySQL , Databases , Perl AJAX Data Grid System using php and mysql. A complete login system with the ability to display data in a grid using ajax. Add , update and delete the records without reloading the page. Categories : PHP , AJAX , Databases , MySQL , Java Script Loading Images to/from MySQL Categories : Databases , MySQL , PHP , Graphics Simple function to return the number of days in a time span between 2 given dates. Categories : PHP , Date Time , MySQL , Databases