de webmaster a webmaster

Clase PHP para conectar con Microsoft SQL Server

sin comentarios, faltaría plus, venga haz el tuyo pinchando aquí que esto tiene premio seguro!

php-con-sql-server-8

En un proyecto para un cliente debemos conectar nuestra de gestión de tiendas online ecOOmmerce.com con el motor de Server con el objeto de leer precios y stock en tiempo real, en una primera investigación hemos descubierto tres clases, siendo la última la más potente de todas. Vamos a mostraros la primera:

Clase para conectar con servidores Microsoft SQL 6.5 y 7

La primera de las clases PHP que hemos encontrado para conectar con bases de datos SQL sin necesidad de instalar componentes adicionales como librerías DLL ni puentes extraños en servidor es compatible según la con PHP 4 y SQL 6.5 y 7. La fuente no cita autor por lo que decidimos no linkarla a la fuente de origen si bien se trata de una clase bastante antigua pues está datada en el 2002.

connection=$Conn;
$this->sql=$Sql;
$this->fn=array();
$this->rowset=array();
$this->Query();
} 

// Execute query 

function Query() {
$this->Close();
$this->result = @mssql_query($this->sql,$this->connection);
if (!$this->result)
return(0);
$this->rowcount = @mssql_num_rows($this->result);
$this->fieldcount = @mssql_num_fields($this->result);
for ($i=1;$i<=$this->fieldcount;$i++) {
$f=@mssql_fetch_field($this->result,$i-1);
// Fill fields names array
$this->fn[$i]=$f->name;
}
$this->curpos=0;
} 

//Move to first record 

function MoveFirst() {
$this->curpos=0;
} 

//Return current row elements and move to next record 

function MoveNext() {
if (!$this->result) return(0);
if ($this->curpos==$this->rowcount) return(0);
for($i=1;$i<=$this->fieldcount;$i++)
$this->rowset[$this->fn[$i]] = @mssql_result($this->result,$this->curpos,$this->fn[$i]);
$this->curpos++;
return($this->rowset);
} 

//Return true if last record 

function Eof() {
if ($this->curpos==$this->rowcount-1)
return(1);
return(0);
} 

//Return true if first record 

function Bof() {
if (!$this->curpos)
return(1);
return(0);
} 

// Free result if exist 

function Close() {
if ($this->result && $this->rowcount)
mssql_free_result($this->result);
$this->result=0;
$this->fn=array();
$this->rowset=array();
$this->rowcount=0;
$this->fieldcount=0;
}
}
?>


Y ahora su forma de uso:

MoveNext())
print $Fields["id"].",".$Fields["name"];
$rs->Close(); 

$rs->sql="insert into mytable(id,name) values(1,'test')";
$rs->Query();
$rs->Close(); 

$rs->sql="select id from mytable";
$rs->Query();
$Fields=$rs->MoveNext();
while(!$rs->Eof()) { //Eof method example
...
$Fields=$rs->MoveNext();
}
$rs->MoveFirst(); //Move to first record
....
$rs->Close();
?>

Clas PHP para la conexión con SQL 8.0

Otra clase, mucho más ligera per compatible con Microsoft SQL Server 8.0:

##
# Conexion con una base de datos de Microsoft SQL Server.
#
# En GNU/Debian, es necesario instalar el paquete php4-sybase para
# tener conexión con SQL Server.
#   apt-get install php4-sybase
##

## conexion a sql server...
$link=mssql_connect("192.168.0.224","sa","123456");
## seleccionamos la base de datos
mssql_select_db("pubs",$link);
## generamos la consulta
$result=mssql_query("select * from authors",$link);
## recorremos todos los registros
while($row=mssql_fetch_array($result))
{
## mostramos el contenido de todos los campos
for($i=0;$i
echo $row[$i]."
";
echo "


"; } ## cerramos la conexion mssql_close($link); ?>

Y por último:

La megaclase para conectarse con servidores SQL y otros

Esta clase, con una pinta estupenda se atribuye a Michal Palma y permite conectarse con diversos servidores.

Como es muy extensa mejor os dejamos un link aquí: Clase PHP para conectar con servidor Microsoft SQL (888) para que la podáis descargar e integradla en vuestros proyectos.

Be Sociable, Share!

Escrito por un tal uvedobles.com

December 5th, 2009 a las 12:34 pm

Deja aquí tu comentario, tu huella, o mejor ingrésame unos euros