PHP连接MYSQL的数据库类文件!

原创 2004年06月23日 02:45:00

<?php

/*这个基本上就是我使用的数据库类*/
//屏蔽未定义错误
error_reporting(7);

class DB_MySQL {

var $servername="localhost";
var $dbname="DBASE";
var $dbusername = "ROOT";
var $dbpassword = "";
var $conn = 0;
var $technicalemail='java@cu165.com';


function geterrdesc() {
$this->error = @mysql_error($this->conn);
return $this->error;
}

function geterrno() {
$this->errno = @mysql_errno($this->conn);
return $this->errno;
}


function query($query_string) {

// $this->result = mysql_db_query($this->dbname,$query_string);
$this->result = mysql_query($query_string);
if (!$this->result) {
$this->halt("SQL 无效: ".$query_string);
}

return $this->result;
}

function num_rows($queryid) {

$this->rows = mysql_num_rows($queryid);

if (empty($queryid)){
$this->halt("Query id 无效:".$queryid);
}
return $this->rows;
}

function fetch_array($queryid) {

$this->record = mysql_fetch_array($queryid);
if (empty($queryid)){
$this->halt("Query id 无效:".$queryid);
}
return $this->record;
}


function conn(){
$this->conn = mysql_connect($this->servername, $this->dbusername, $this->dbpassword) or die(mysql_error("数据库链接失败"));
return $this->conn;
}

function selectdb(){
if(!mysql_select_db($this->dbname)){
$this->halt("数据库链接失败");
}
}


function my_close() {
// mysql_close($this->conn);
mysql_close();
}

function fetch_row($queryid) {

$this->record = mysql_fetch_row($queryid);
if (empty($queryid)){
$this->halt("queryid 无效:".$queryid);
}
return $this->record;
}

function fetch_one_num($query) {

$this->result = $this->query($query);
$this->record = $this->num_rows($this->result);
if (empty($query)){
$this->halt("Query id 无效:".$query);
}
return $this->record;

}
function fetch_one_array($query) {

$this->result = $this->query($query);
$this->record = $this->fetch_array($this->result);
if (empty($query)){
$this->halt("Query id 无效:".$query);
}
return $this->record;

}

 


function free_result($query){
if (!mysql_free_result($query)){
$this->halt("fail to mysql_free_result");
}
}

function insert_id(){
$this->insertid = mysql_insert_id();
if (!$this->insertid){
$this->halt("fail to get mysql_insert_id");
}
return $this->insertid;
}

 


/*========================================================================*/
// Create an array from a multidimensional array returning formatted
// strings ready to use in an INSERT query, saves having to manually format
// the (INSERT INTO table) ('field', 'field', 'field') VALUES ('val', 'val')
/*========================================================================*/

function compile_db_insert_string($data) {

$field_names = "";
$field_values = "";

foreach ($data as $k => $v)
{
$v = preg_replace( "/'/", "//'", $v );
//$v = preg_replace( "/#/", "//#", $v );
$field_names .= "$k,";
$field_values .= "'$v',";
}

$field_names = preg_replace( "/,$/" , "" , $field_names );
$field_values = preg_replace( "/,$/" , "" , $field_values );

return array( 'FIELD_NAMES' => $field_names,
'FIELD_VALUES' => $field_values,
);
}

/*========================================================================*/
// Create an array from a multidimensional array returning a formatted
// string ready to use in an UPDATE query, saves having to manually format
// the FIELD='val', FIELD='val', FIELD='val'
/*========================================================================*/

function compile_db_update_string($data) {

$return_string = "";

foreach ($data as $k => $v)
{
$v = preg_replace( "/'/", "//'", $v );
$return_string .= $k . "='".$v."',";
}

$return_string = preg_replace( "/,$/" , "" , $return_string );

return $return_string;
}


function halt($msg){

global $technicalemail,$debug;

$message = "<html>/n<head>/n";
$message .= "<meta content=/"text/html; charset=gb2312/" http-equiv=/"Content-Type/">/n";
$message .= "<STYLE TYPE=/"text/css/">/n";
$message .= "<!--/n";
$message .= "body,td,p,pre {/n";
$message .= "font-family : Verdana, Arial, Helvetica, sans-serif;font-size : 12px;/n";
$message .= "}/n";
$message .= "</STYLE>/n";
$message .= "</head>/n";
$message .= "<body bgcolor=/"#EEEEEE/" text=/"#000000/" link=/"#006699/" vlink=/"#5493B4/">/n";
$message .= "<font size=10><b>系统调试</b></font><font size=6><b>(by 大白菜芯 )</b></font>/n<hr NOSHADE SIZE=1>/n";


$content = "<p>数据库出错:</p><pre><b>".htmlspecialchars($msg)."</b></pre>/n";
$content .= "<b>Mysql error description</b>: ".$this->geterrdesc()."/n<br>";
$content .= "<b>Mysql error number</b>: ".$this->geterrno()."/n<br>";
$content .= "<b>Date</b>: ".date("Y-m-d @ H:i")."/n<br>";
$content .= "<b>Script</b>: http://".$_SERVER[HTTP_HOST].getenv("REQUEST_URI")."/n<br>";
$content .= "<b>Referer</b>: ".getenv("HTTP_REFERER")."/n<br><br>";

$message .= $content;

$message .= "<p>请尝试刷新你的浏览器,如果仍然无法正常显示,请联系<a href=/"technicalemail."/'>mailto:".$this->technicalemail."/">管理员</a>.</p>";
$message .= "</body>/n</html>";
echo $message;

$headers = "From: nt.cn <$this->technicalemail>/r/n";

$content = strip_tags($content);
@mail($technicalemail,"数据库出错",$content,$headers);

exit;
}

}
?>

php类文件命名规范

我们开发的所有类都会使用PHPDoc风格的注释,这样就能很容易地为所有类构建API文档。PHPDoc建立在Sun公司的Javadoc系统基础之上,这是一种为所有函数、参数、变量和包加注释的简单方法,以...
  • matiantian666
  • matiantian666
  • 2016年06月11日 16:41
  • 386

PHP同时连接多个mysql数据库

实例:
  • xyw_Eliot
  • xyw_Eliot
  • 2013年11月12日 19:08
  • 4740

PHP 连接PostgreSql数据库代码

  //FUNCTION: Connect to PostgreSql database  //AUTHOR:    lucas.liu //DATETIME: 2007-10-31  //creat...
  • enjoyxp
  • enjoyxp
  • 2007年10月31日 17:53
  • 2030

php-配置数据库连接

php环境配置--配置数据库连接
  • u012867040
  • u012867040
  • 2016年12月14日 20:13
  • 1316

PHP:判断PHP是否成功连接数据库

获取服务器信息的第一个PHP程序
  • qingshui23
  • qingshui23
  • 2017年03月04日 20:13
  • 1339

PHP中操作MYSQL数据库常用函数

1、mysql_connect()-建立数据库连接  格式:  resource mysql_connect([string hostname [:port] [:/path/to/socket]...
  • u013742084
  • u013742084
  • 2016年05月05日 17:14
  • 1989

php远程连接虚拟机mongo数据库失败问题(奇葩)

下午搞了几个小时的这个问题:        放火墙、端口、是否通信都用过了,还是不行,最后经由同事打开/etc/mongod.conf才发现问题,原来mongod.conf默认的配置有如下一条, ...
  • sanbingyutuoniao123
  • sanbingyutuoniao123
  • 2016年01月05日 16:57
  • 321

怎么用php myadmin连接远程MYSQL数据库

由于工作,需要用本地的 PHP MYADMIN连接远程的MYSQL数据库,下面配置如下:打开config.inc.php 1.更改登陆验证方式 查找 $cfg['Servers'][$i][...
  • gjpdeyx
  • gjpdeyx
  • 2010年07月02日 17:27
  • 1037

检测PHP连接MYSQL数据库是否连接成功简单写法

  • ottozy
  • ottozy
  • 2010年04月10日 18:09
  • 9624

Oracle PHP操作类

  • malinjie66
  • malinjie66
  • 2013年12月16日 10:00
  • 1431
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP连接MYSQL的数据库类文件!
举报原因:
原因补充:

(最多只允许输入30个字)