Home > php教程 > php手册 > 操作MYSQL的一个PHP类

操作MYSQL的一个PHP类

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-21 09:02:31
Original
795 people have browsed it

 

php
/*
*
这个类本来是PHPLIB里的一部分,我做了些修改。
*/
class MyDB_Sql {
var $Host = "";
var $Database = "";
var $User = "";
var $Password = "";

var $Link_ID = 0;
var $Query_ID = 0;
var $Record = array();
var $Row;

var $Errno = 0;
var $Error = "";

var $Auto_free = 0; ## Set this to 1 for automatic mysql_free_result()
var $Auto_commit = 0; ## set this to 1 to automatically commit results

var $debugmode = 0;

function connect() {
if ( 0 == $this->Link_ID ) {
$this->Link_ID=mysql_pconnect($this->Host, $this->User, $this->Password);
if (!$this->Link_ID) {
$this->halt("Link-ID == false, pconnect failed");
}
if (!mysql_query(sprintf("use %s",$this->Database),$this->Link_ID)) {
$this->halt("cannot use database ".$this->Database);
}
}
}

function query($Query_String) {
$this->connect();

if ($this->debugmode)
printf("Debug: query = %sbr
>\n", $Query_String);

$this->Query_ID = mysql_query($Query_String,$this->Link_ID);
$this->Row = 0;
$this->Errno = mysql_errno();
$this->Error = mysql_error();
if (!$this->Query_ID) {
$this->halt("Invalid SQL: ".$Query_String);
}

return $this->Query_ID;
}

function next_record() {
$this->Record = mysql_fetch_array($this->Query_ID);
$this->Row += 1;
$this->Errno = mysql_errno();
$this->Error = mysql_error();

$stat = is_array($this->Record);
if (!$stat && $this->Auto_free) {
mysql_free_result($this->Query_ID);
$this->Query_ID = 0;
}
return $stat;
}

function seek($pos) {
$status = mysql_data_seek($this->Query_ID, $pos);
if ($status)
$this->Row = $pos;
return;
}

function metadata($table) {
$count = 0;
$id = 0;
$res = array();

$this->connect();
$id = @mysql_list_fields($this->Database, $table);
if ($id $this->Errno = mysql_errno();
$this->Error = mysql_error();
$this->halt("Metadata query failed.");
}
$count = mysql_num_fields($id);

for ($i=0; $ii++) {
$res[$i]["table"] = mysql_field_table ($id, $i);
$res[$i]["name"] = mysql_field_name ($id, $i);
$res[$i]["type"] = mysql_field_type ($id, $i);
$res[$i]["len"] = mysql_field_len ($id, $i);
$res[$i]["flags"] = mysql_field_flags ($id, $i);
$res["meta"][$res[$i]["name"]] = $i;
$res["num_fields"]= $count;
}

mysql_free_result($id);
return $res;
}

function affected_rows() {
return mysql_affected_rows($this->Link_ID);
}

function num_rows() {
return mysql_num_rows($this->Query_ID);
}

function num_fields() {
return mysql_num_fields($this->Query_ID);
}

function nf() {
return $this->num_rows();
}

function np() {
print $this->num_rows();
}

function f($Name) {
return $this->Record[$Name];
}

function p($Name) {
print $this->Record[$Name];
}

function halt($msg) {
printf("tr>Database error: %sbr
>\n", $msg);
printf("MySQL Error: %s (%s)br>\n",
$this->Errno,
$this->Error);
die("Session halted.");
}
}

class SQL extends MyDB_Sql {
var $Host = "localhost";
var $Database = "";
var $User = "";
var $Password = "";

function free_result() {
return @mysql_free_result($this->Query_ID);
}

function rollback() {
return 1;
}

function commit() {
return 1;
}

function autocommit($onezero) {
return 1;
}

function insert_id($col="",$tbl="",$qual="") {
return mysql_insert_id($this->Query_ID);
}
}
?>

 



Related labels:
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Issues
Why is this ID written like this?
From 1970-01-01 08:00:00
0
0
0
Small question about $this
From 1970-01-01 08:00:00
0
0
0
What's the use of this?
From 1970-01-01 08:00:00
0
0
0
This file demo.mp4
From 1970-01-01 08:00:00
0
0
0
javascript - es6中this
From 1970-01-01 08:00:00
0
0
0
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template