The MSSQL database connection class instance of PHP, MSSQL database connection
In this paper, the example of the MSSQL database connection class PHP code, shared for everyone to reference.
The specific implementation code is as follows:
Copy CodeThe code is as follows: Class Db_sql {
var $Host = "";
var $Database = "";
var $User = "";
var $Password = "";
var $Link _id = 0;
var $Query _id = 0;
var $Record = array ();
var $Row = 0;
var $Errno = 0;
var $Error = "";
var $Auto _free = 0; # # Set this to 1 to automatically free results
function Db_sql ($query = "") {
$this->query ($query);
}
function Connect () {
if (0 = = $this->link_id) {
$this->link_id=mssql_connect ($this->host, $this->user, $this->password);
if (! $this->link_id)
$this->halt ("Link-id = = False, Mssql_pconnect failed");
Else
@mssql_select_db ($this->database, $this->link_id);
}
}
function Free_result () {
Mssql_free_result ($this->query_id);
$this->query_id = 0;
}
function query ($Query _string)
{
/* No empty queries, please, since PHP4 chokes on them. */
if ($Query _string = = "")
/* The empty query string is passed on from the constructor,
* When calling the class without a query, e.g. in situations
* Like these: ' $db = new Db_sql_subclass; '
*/
return 0;
if (! $this->link_id)
$this->connect ();
# printf ("
Debug:query =%s
", $Query _string);
$this->query_id = mssql_query ($Query _string, $this->link_id);
$this->row = 0;
if (! $this->query_id) {
$this->errno = 1;
$this->error = "General error (the MSSQL interface cannot return detailed Error messages).";
$this->halt ("Invalid SQL:". $Query _string);
}
return $this->query_id;
}
function Next_record () {
if ($this->record = Mssql_fetch_row ($this->query_id)) {
Add to Record[ ]
$count = Mssql_num_fields ($this->query_id);
for ($i =0; $i < $count; $i + +) {
$fieldinfo = Mssql_fetch_field ($this->query_id, $i);
$this->record[strtolower ($fieldinfo->name)] = $this->record[$i];
}
$this->row + = 1;
$stat = 1;
} else {
if ($this->auto_free) {
$this->free_result ();
}
$stat = 0;
}
return $stat;
}
function Seek ($pos) {
Mssql_data_seek ($this->query_id, $pos);
$this->row = $pos;
}
function metadata ($table) {
$count = 0;
$id = 0;
$res = Array ();
$this->connect ();
$id = Mssql_query ("SELECT * from $table", $this->link_id);
if (! $id) {
$this->errno = 1;
$this->error = "General error (the MSSQL interface cannot return detailed Error messages).";
$this->halt ("Metadata query failed.");
}
$count = Mssql_num_fields ($id);
for ($i =0; $i < $count; $i + +) {
$info = Mssql_fetch_field ($id, $i);
$res [$i] ["table"] = $table;
$res [$i] ["name"] = $info ["name"];
$res [$i] ["len"] = $info ["Max_length"];
$res [$i] ["flags"] = $info ["Numeric"];
}
$this->free_result ();
return $res;
}
function Affected_rows () {
Not a supported function in PHP3/4. Chris Johnson, 16may2001.
Return Mssql_affected_rows ($this->query_id);
$rsRows = Mssql_query ("SELECT @ @rowcount as rows", $this->link_id);
if ($rsRows) {
Return Mssql_result ($rsRows, 0, "rows");
}
}
function Num_rows () {
Return Mssql_num_rows ($this->query_id);
}
function Num_fields () {
Return Mssql_num_fields ($this->query_id);
}
function NF () {
return $this->num_rows ();
}
function np () {
Print $this->num_rows ();
}
function f ($Field _name) {
return $this->record[strtolower ($Field _name)];
}
function P ($Field _name) {
Print $this->f ($Field _name);
}
function Halt ($msg) {
printf (" Database Error:%s
", $msg);
printf (" MSSQL Error:%s (%s)
",
$this->errno,
$this->error);
Die ("Session halted.");
}
}
I hope this article is helpful to everyone's PHP programming.
http://www.bkjia.com/PHPjc/919260.html www.bkjia.com true http://www.bkjia.com/PHPjc/919260.html techarticle the MSSQL database connection class instance of PHP, MSSQL database connection in this paper, the example of the MSSQL database connection class PHP code, share to everyone for your reference. The specific implementation code is as follows ...