Clase PHP para conectar con Microsoft SQL Server
En un proyecto para un cliente debemos conectar nuestra aplicación de gestión de tiendas online ecOOmmerce.com con el motor de bases de datos Microsoft SQL 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 PHP 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 web 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 (82) para que la podáis descargar e integradla en vuestros proyectos.
Páginas relacionadas con este artículo:

