image
Inicio » PHP » Biblioteca de Código PHP » Biblioteca de código

Bases de Datos

Clase de acceso a BD MS SQL Server

Very simple to use this class for return query result and access to fields by its name from MSSQL database. Tested on php v. 3.x and 4.x with MS SQL Server 6.5 and 7.0

Versión: 1.0
Fecha: 02/06/2002
Puntación: [3.6/5] Puntuar
  Volver Volver

Código

<?
class Recordset {
var $result, // result id
$rowcount, // number of rows in result
$curpos, // index of current row (begin=0, end=rowcount-1)
$fieldcount, // number of fields in result
$fn, // Array of fields names
$rowset, // Array of fields with keys on field name
$connection, // connection id
$sql; // sql query

//Constructor

function Recordset($Sql,$Conn) {
$this->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;
}
}
?>


Ejemplo

<?
$Conn=mssql_connect("server_name","login","password");
mssql_select_db("mydb",$Conn);

$rs=new Recordset("select id,name from mytable",$Conn);
while($Fields=$rs->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();
?>

  Volver Volver







Comparte



 
Valid HTML 4.01!
Última modificación:31 de Agosto de 2017. Spain - Espa�a.
© 1998-2004 por . Todos los derechos reservados.