Código PHP:
///////////////////// mysql.php /////////////////////////////
<?php
//Clase que maneja la conexion con MySql
class DBLayer
{
var $prefix; //Prefijo de las tablas de la base de datos
var $link_id; //ID de la conexion
var $query_result; //Resultado del query
var $saved_queries = array(); //Querys almacenados
var $num_queries = 0; //Cantidad de querys ejecutados
//Constructor
function DBLayer($db_host, $db_username, $db_password, $db_name, $db_prefix, $p_connect)
{
$this->prefix = $db_prefix;
if ($p_connect)
$this->link_id = @mysql_pconnect($db_host, $db_username, $db_password);
else
$this->link_id = @mysql_connect($db_host, $db_username, $db_password);
if ($this->link_id)
{
if (@mysql_select_db($db_name, $this->link_id))
return $this->link_id;
else
//error('No se pudo abrir la base de datos. Error de MySQL: '.mysql_error(), __FILE__, __LINE__);
mysql_error() ;
}
else
//error('No se pudo conectar al servidor de MySQL. Error de MySQL: '.mysql_error(), __FILE__, __LINE__);
mysql_error() ;
}
//Ejecuta un query
function query($sql, $unbuffered = false)
{
if ($unbuffered)
$this->query_result = @mysql_unbuffered_query($sql, $this->link_id);
else
$this->query_result = @mysql_query($sql, $this->link_id);
if ($this->query_result)
{
++$this->num_queries;
return $this->query_result;
}
else
{
$this->saved_queries[] = array($sql, 0);
return false;
}
}
function db_query($db_name, $sql, $unbuffered = false)
{
$selDb = @mysql_select_db($db_name, $this->link_id);
if ($unbuffered)
$this->query_result = @mysql_unbuffered_query($sql, $this->link_id);
else
$this->query_result = @mysql_query($sql, $this->link_id);
if ($this->query_result)
{
++$this->num_queries;
return $this->query_result;
}
else
{
$this->saved_queries[] = array($sql, 0);
return false;
}
}
/* Funciones que encapsulan los metods de acceso a MySql de PHP */
function select_db($db_name) {
return @mysql_select_db($db_name, $this->link_id) ;
}
function result($query_id = 0, $row = 0)
{
return ($query_id) ? @mysql_result($query_id, $row) : false;
}
function fetch_assoc($query_id = 0)
{
return ($query_id) ? @mysql_fetch_assoc($query_id) : false;
}
function fetch_row($query_id = 0)
{
return ($query_id) ? @mysql_fetch_row($query_id) : false;
}
function num_rows($query_id = 0)
{
return ($query_id) ? @mysql_num_rows($query_id) : false;
}
function affected_rows()
{
return ($this->link_id) ? @mysql_affected_rows($this->link_id) : false;
}
function insert_id()
{
//return ($this->link_id) ? @mysql_insert_id($this->link_id) : false;
$result = $this->fetch_assoc( $this->query('select @@IDENTITY as clave') );
return $result['clave'] ;
}
/* Fin de funciones que encapsulan los metods de acceso a MySql de PHP */
//Regresa el numero de querys ejecutados
function get_num_queries()
{
return $this->num_queries;
}
//Regresa los querys almacenados
function get_saved_queries()
{
return $this->saved_queries;
}
//Libera el query de memoria
function free_result($query_id = false)
{
return ($query_id) ? @mysql_free_result($query_id) : false;
}
//Maneja caracteres especiales
function escape($str)
{
if (function_exists('mysql_real_escape_string'))
return mysql_real_escape_string($str, $this->link_id);
else
return mysql_escape_string($str);
}
//Regresa el error del query
function error()
{
$result['error_sql'] = @current(@end($this->saved_queries));
$result['error_no'] = @mysql_errno($this->link_id);
$result['error_msg'] = @mysql_error($this->link_id);
return $result;
}
//Cierra la conexion con la base de datos
function close()
{
if ($this->link_id)
{
if ($this->query_result)
@mysql_free_result($this->query_result);
return @mysql_close($this->link_id);
}
else
return false;
}
}
///////////////////// mssql.php /////////////////////////////
<?php
//Clase que maneja la conexion con MySql
class DBLayer
{
var $prefix; //Prefijo de las tablas de la base de datos
var $link_id; //ID de la conexion
var $query_result; //Resultado del query
var $saved_queries = array(); //Querys almacenados
var $num_queries = 0; //Cantidad de querys ejecutados
//Constructor
function DBLayer($db_host, $db_username, $db_password, $db_name, $db_prefix, $p_connect)
{
$this->prefix = $db_prefix;
if ($p_connect)
$this->link_id = @mssql_pconnect($db_host, $db_username, $db_password);
else
$this->link_id = @mssql_connect($db_host, $db_username, $db_password);
if ($this->link_id)
{
if (@mssql_select_db($db_name, $this->link_id))
return $this->link_id;
else
//error('No se pudo abrir la base de datos. Error de MySQL: '.mysql_error(), __FILE__, __LINE__);
mssql_error() ;
}
else
//error('No se pudo conectar al servidor de MySQL. Error de MySQL: '.mysql_error(), __FILE__, __LINE__);
mssql_error() ;
}
//Ejecuta un query
function query($sql, $unbuffered = false)
{
if ($unbuffered)
$this->query_result = @mysql_unbuffered_query($sql, $this->link_id);
else
$this->query_result = @mssql_query($sql, $this->link_id);
if ($this->query_result)
{
++$this->num_queries;
return $this->query_result;
}
else
{
$this->saved_queries[] = array($sql, 0);
return false;
}
}
/* Funciones que encapsulan los metods de acceso a MySql de PHP */
function result($query_id = 0, $row = 0)
{
return ($query_id) ? @mssql_result($query_id, $row) : false;
}
function fetch_assoc($query_id = 0)
{
return ($query_id) ? @mssql_fetch_assoc($query_id) : false;
}
function fetch_row($query_id = 0)
{
return ($query_id) ? @mssql_fetch_row($query_id) : false;
}
function num_rows($query_id = 0)
{
return ($query_id) ? @mssql_num_rows($query_id) : false;
}
function affected_rows()
{
return ($this->link_id) ? @mssql_affected_rows($this->link_id) : false;
}
function insert_id()
{
//return ($this->link_id) ? @mysql_insert_id($this->link_id) : false;
$result = $this->fetch_assoc( $this->query('select @@IDENTITY as clave') );
return $result['clave'] ;
}
/* Fin de funciones que encapsulan los metods de acceso a MySql de PHP */
//Regresa el numero de querys ejecutados
function get_num_queries()
{
return $this->num_queries;
}
//Regresa los querys almacenados
function get_saved_queries()
{
return $this->saved_queries;
}
//Libera el query de memoria
function free_result($query_id = false)
{
return ($query_id) ? @mssql_free_result($query_id) : false;
}
//Maneja caracteres especiales
function escape($str)
{
if (function_exists('mysql_real_escape_string'))
return mysql_real_escape_string($str, $this->link_id);
else
return mysql_escape_string($str);
}
//Regresa el error del query
function error()
{
$result['error_sql'] = @current(@end($this->saved_queries));
$result['error_no'] = @mysql_errno($this->link_id);
$result['error_msg'] = @mysql_error($this->link_id);
return $result;
}
//Cierra la conexion con la base de datos
function close()
{
if ($this->link_id)
{
if ($this->query_result)
@mssql_free_result($this->query_result);
return @mssql_close($this->link_id);
}
else
return false;
}
}
Mi aplicación primero se conecta a MySQL para validación de usuarios :
Código PHP:
require 'datos_conn.php';
require_once('../Clases/lib/mysql.php') ;
$dbCon = new DBLayer($db_host, $db_username, $db_password, $db_name, '', $p_connect);
Espero que alguien me pueda guiar en esto. De antemano Gracias