WZHU's BLOG
HEAD
- 有一种精神,叫"公诚勤朴"
Recent Posts
- 导出Gmail通讯录(Export Gmail Contacts)
- Subversion 强制用户写备注(日志)才能提交.
- Linux 时间服务器同步命令
- PHP修改 LDAP用户密码程序
- Subversion安装与配置
- 我的Subversion使用LDAP认证之Apache配置实例
- HTTP协议(RFC2616)中的方法定义
- 我的HTTP Client 模拟PHP Class
- 我所使用的PHP图形验证码程序.
- DNS Bind9 配置实例
- (联合早报)中国社会信任的解体及其结果(转)
- Linux+Apache+MySQL+PHP 安装配置(三)——freeType,libpng,jpeg,gd,mcrypt,mhash,imap,PHP安装
- Linux+Apache+MySQL+PHP 安装配置(二)—— Apache安装
- Linux+Apache+MySQL+PHP 安装配置(一)—— MySQL安装
- 甲型H1N1流感防病要诀!
Recent Comments
挣点外快
我使用的PHP MySQL DB Operater Class(个人简易版)
作者: wzhu 时间: 2009-01-03 18:06:01
好多天没更新了,一是连续加班一月没心情,二是最近经济危机也开始影响我自己。没什么可更新的就暂时把自己用的MySQL数据库操作的Class贴出来,供搞PHP的同僚们参考,并寄望给予指点。
/*
===========================================================
class.mysql.php Zhu Weiwei
Copyright © 2006-2008
http://www.cncmm.com China. All Rights Reserved.
===========================================================
*/
class MySQL{
private $m_classname = "MySQL";
protected static $m_conn = null;
protected $m_rs;
protected $m_errlevel = "report";
function __construct($server='',$username='',$password='',$database=''){
if(self::$m_conn === null){
self::$m_conn = @mysql_connect($server,$username,$password);
if(!self::$m_conn){
die("mysql_connect(): Failed");
}
if($database != ""){
if( !@mysql_select_db($database,self::$m_conn)){
die("mysql_select_db($database,m_conn) Failed.");
}
}
}
$this->executeQuery('SET NAMES utf8');
}
function connect(){
$this->executeQuery('SET NAMES utf8');
$this->executeQuery('SET CHARACTER SET utf8');
$this->executeQuery('SET COLLATION_CONNECTION=utf8_general_ci');
return true;
}
function close(){
return @mysql_close( self::$m_conn );
}
function selectDatabase($database=''){
if($database!=""){
return @mysql_select_db($database);
}
}
function executeQuery($sql=''){
if(self::$m_conn == false && self::$m_conn){
$this->halt("Execute SQL Failed: Hava not valid database connect.");
return false;
}
$this->m_rs = mysql_query($sql,self::$m_conn);
if(!$this->m_rs){
$this->halt("Execute SQL: mysql_query($sql,m_conn) failed.");
return false;
}
return $this->m_rs;
}
function executeQueryFormat($query='') {
if (func_num_args()>1){
$args=func_get_args();
$query=call_user_func_array("sprintf",$args);
}
return $this->executeQuery($query);
}
function getTotalRowNum($result=''){
if($result != ""){
$this->m_rs = $result;
}
$row = @mysql_num_rows($this->m_rs);
if($row >= 0){
return $row;
}else{
$this->halt("Get a row of result Failed: Result $result is invalid.");
return false;
}
}
function getLastInsertID(){
return @mysql_insert_id($this->m_rs);
}
function getFieldValue($result='',$row=0,$field=0){
if($result != ""){
$this->m_rs = $result;
}
$fieldvalue = @mysql_result($this->m_rs,$row,$field);
if($fieldvalue != ""){
return $fieldvalue;
}else{
$this->halt("Get field: mysql_result($this->m_rs,$row,$field) failed.");
return false;
}
}
function getFieldList($database,$table) {
$fs = mysql_list_fields($database, $table, self::$m_conn);
$columns = mysql_num_fields($fs);
$filed = Array();
for ($i = 0; $i < $columns; $i++) {
$filed[] = mysql_field_name($fs, $i);
}
return $filed;
}
function getObjectRecord($result='') {
if($result!=""){
$this->m_rs=$result;
}
return @mysql_fetch_object($this->m_rs);
}
function getArrayRecord($result='') {
if($result!=""){
$this->m_rs=$result;
}
return @mysql_fetch_array($this->m_rs, MYSQL_ASSOC);
}
function freeResult($result=''){
if($result != ""){
$this->m_rs = $result;
}
return @mysql_free_result($this->m_rs);
}
function setErrorLevel($state='report'){
if(!($state == "ignore" || $state == "report" || $state == "halt")){
$this->halt("Set the m_errlevel Fail: There is no state value $state");
return false;
}
$this->m_errlevel = $state;
return true;
}
function toString(){
return $this->m_classname;
}
function escapeString($str){
return @addslashes($str);
}
function getErrorText(){
return @mysql_error(self::$m_conn);
}
function getErrorNo(){
return @mysql_errno(self::$m_conn);
}
function halt($msg=''){
if ($this->m_errlevel == "ignore"){
return;
}
//report
printf("<hr />\n");
printf("<b>Database error:</b> %s<br>\n", $msg);
printf("<b>MySQL Error</b>: %s (%s)<br>\n",mysql_errno(self::$m_conn),mysql_error(self::$m_conn));
printf("<hr />\n");
if ($this->m_errlevel == "halt"){
die("<b>Session halted</b>");
}
}
};
===========================================================
class.mysql.php Zhu Weiwei
Copyright © 2006-2008
http://www.cncmm.com China. All Rights Reserved.
===========================================================
*/
class MySQL{
private $m_classname = "MySQL";
protected static $m_conn = null;
protected $m_rs;
protected $m_errlevel = "report";
function __construct($server='',$username='',$password='',$database=''){
if(self::$m_conn === null){
self::$m_conn = @mysql_connect($server,$username,$password);
if(!self::$m_conn){
die("mysql_connect(): Failed");
}
if($database != ""){
if( !@mysql_select_db($database,self::$m_conn)){
die("mysql_select_db($database,m_conn) Failed.");
}
}
}
$this->executeQuery('SET NAMES utf8');
}
function connect(){
$this->executeQuery('SET NAMES utf8');
$this->executeQuery('SET CHARACTER SET utf8');
$this->executeQuery('SET COLLATION_CONNECTION=utf8_general_ci');
return true;
}
function close(){
return @mysql_close( self::$m_conn );
}
function selectDatabase($database=''){
if($database!=""){
return @mysql_select_db($database);
}
}
function executeQuery($sql=''){
if(self::$m_conn == false && self::$m_conn){
$this->halt("Execute SQL Failed: Hava not valid database connect.");
return false;
}
$this->m_rs = mysql_query($sql,self::$m_conn);
if(!$this->m_rs){
$this->halt("Execute SQL: mysql_query($sql,m_conn) failed.");
return false;
}
return $this->m_rs;
}
function executeQueryFormat($query='') {
if (func_num_args()>1){
$args=func_get_args();
$query=call_user_func_array("sprintf",$args);
}
return $this->executeQuery($query);
}
function getTotalRowNum($result=''){
if($result != ""){
$this->m_rs = $result;
}
$row = @mysql_num_rows($this->m_rs);
if($row >= 0){
return $row;
}else{
$this->halt("Get a row of result Failed: Result $result is invalid.");
return false;
}
}
function getLastInsertID(){
return @mysql_insert_id($this->m_rs);
}
function getFieldValue($result='',$row=0,$field=0){
if($result != ""){
$this->m_rs = $result;
}
$fieldvalue = @mysql_result($this->m_rs,$row,$field);
if($fieldvalue != ""){
return $fieldvalue;
}else{
$this->halt("Get field: mysql_result($this->m_rs,$row,$field) failed.");
return false;
}
}
function getFieldList($database,$table) {
$fs = mysql_list_fields($database, $table, self::$m_conn);
$columns = mysql_num_fields($fs);
$filed = Array();
for ($i = 0; $i < $columns; $i++) {
$filed[] = mysql_field_name($fs, $i);
}
return $filed;
}
function getObjectRecord($result='') {
if($result!=""){
$this->m_rs=$result;
}
return @mysql_fetch_object($this->m_rs);
}
function getArrayRecord($result='') {
if($result!=""){
$this->m_rs=$result;
}
return @mysql_fetch_array($this->m_rs, MYSQL_ASSOC);
}
function freeResult($result=''){
if($result != ""){
$this->m_rs = $result;
}
return @mysql_free_result($this->m_rs);
}
function setErrorLevel($state='report'){
if(!($state == "ignore" || $state == "report" || $state == "halt")){
$this->halt("Set the m_errlevel Fail: There is no state value $state");
return false;
}
$this->m_errlevel = $state;
return true;
}
function toString(){
return $this->m_classname;
}
function escapeString($str){
return @addslashes($str);
}
function getErrorText(){
return @mysql_error(self::$m_conn);
}
function getErrorNo(){
return @mysql_errno(self::$m_conn);
}
function halt($msg=''){
if ($this->m_errlevel == "ignore"){
return;
}
//report
printf("<hr />\n");
printf("<b>Database error:</b> %s<br>\n", $msg);
printf("<b>MySQL Error</b>: %s (%s)<br>\n",mysql_errno(self::$m_conn),mysql_error(self::$m_conn));
printf("<hr />\n");
if ($this->m_errlevel == "halt"){
die("<b>Session halted</b>");
}
}
};
由于相关函数和功能比较简单,所以省去了注释。
相关评论
- 53jin 发布于 2009-06-04 21:31:06 IP: 222.125.198.*
-
function executeQuery($sql='){
if(self::$m_conn == false && self::$m_conn){
$this->halt("Execute SQL Failed: Hava not valid database connect.");
return false;
}
===================
博主你好!
self::$m_conn == false && self::$m_conn这句话看不懂,这是发生在什么情况下的 - wzhu 发布于 2009-06-05 10:59:54 IP: 125.33.192.*
- 比如self::$m_conn是NULL,
不过这里确实可以合并。