php实现可用于mysql,mssql,pg数据库操作类
本篇章节讲解可用mysql,mssql,pg三种数据库的数据库操作类,你只要作任何修改就可以方便的改变你数据库的类型.分享给大家供大家参考。具体分析如下: 函数清单,索引: Open:打开数据库连接 Line:71 Close:关闭数据库连接 Line:107 SelectDB:选择数据库 Line:129 Query:创建查询 Line:151 DataSeek:移动记录指针 Line:175 FieldName:获取字段名称 Line:198 FieldType:获取字段类型 Line:220 FieldLenght:获取字段长度 Line:242 FetchRow:获取数据并保存到数组(数字索引) Line:264 FetchArray:获取数据并保存进数组(数字和关联) Line:289 FetchObject:获取数据并保存到对象(对象方式) Line:315 Result:获取结果数据 Line:341 FreeResult:刷新记录集 Line:363 RowsNumber:获取记录数量 Line:385 FieldsNumber:获取字段数量 Line:407 CurRecNumber:获取当前记录号(从0开始) Line:429 RecordNumber:获取当前行号(从1开始) Line:438 MoveFirstRec:移动到第一条记录 Line:447 MoveLastRec:移动到最后一条记录 Line:469 MovePreviousRec:移动到前一条记录 Line:495 MoveNextRec:移动到下一条记录 Line:521 MoveToRec:移动到一个特定的记录(从1开始) Line:548 php数据库操作类代码如下: 代码如下: /*成员方法实现*****/
/**** *连接数据库的函数 *****/ Function Open($dbType,$c,$connect,$username = "",$password = "") { $this->dbType = $dbType; Switch ($dbType) { Case "mssql": If ($connectType == "c") { $idCon = mssql_connect($connect,$username,$password); } Else { $idCon = mssql_pconnect($connect,$password); } Break; Case "mysql": If ($connectType == "c") { $idCon = mysql_connect($connect,$password); } Else { $idCon = mysql_pconnect($connect,$password); } Break; Case "pg": If ($connectType == "c") { $idCon = pg_connect($connect . " user=" . $username . " password=" . $password); } Else { $idCon = pg_pconnect($connect . " user=" . $username . " password=" . $password); } Break; Default: $idCon = 0; Break; } $this->idCon = $idCon; Return $idCon; } /**** *关闭数据库连接 *****/ Function Close() { Switch ($this->dbType) { Case "mssql": $r = mssql_close($this->idCon); Break; Case "mysql": $r = mysql_close($this->idCon); Break; Case "pg": $r = pg_close($this->idCon); Break; Default: $r = False; Break; } Return $r; } /**** *选择数据库 *****/ Function SelectDb($dbName) { Switch ($this->dbType) { Case "mssql": $r = mssql_select_db($dbName); Break; Case "mysql": $r = mysql_select_db($dbName); Break; Case "pg": $r = False; Break; Default: $r = False; Break; } Return $r; } /**** *创建查询 *****/ Function Query($query) { Switch ($this->dbType) { Case "mssql": $r = mssql_query($query,$this->idCon); Break; Case "mysql": $r = mysql_query($query,$this->idCon); Break; Case "pg": $r = pg_exec($this->idCon,$query); Break; Default: $r = False; Break; } $this->curRow[$r] = 0; $this->seek[$r] = 0; Return $r; } /**** *移动记录指针 *****/ Function DataSeek($result,$RowNumber) { Switch ($this->dbType) { Case "mssql": $r = mssql_data_seek($result,$RowNumber); Break; Case "mysql": $r = mysql_data_seek($result,$RowNumber); Break; Case "pg": $r = False; Break; Default: $r = False; Break; } $this->seek[$result] = (int) $RowNumber; Return $r; } /**** *获取字段名 *****/ Function FieldName($result,$offset) { Switch ($this->dbType) { Case "mssql": $r = mssql_field_name($result,$offset); Break; Case "mysql": $r = mysql_field_name($result,$offset); Break; Case "pg": $r = pg_fieldname($result,$offset); Break; Default: $r = False; Break; } Return $r; } /**** *获取字段类型 *****/ Function FieldType($result,$offset) { Switch ($this->dbType) { Case "mssql": $r = mssql_field_type($result,$offset); Break; Case "mysql": $r = mysql_field_type($result,$offset); Break; Case "pg": $r = pg_fieldtype($result,$offset); Break; Default: $r = False; Break; } Return $r; } /**** *获取字段长度 *****/ Function FieldLength($result,$offset) { Switch ($this->dbType) { Case "mssql": $r = mssql_field_length($result,$offset); Break; Case "mysql": $r = mysql_field_len($result,$offset); Break; Case "pg": $r = pg_fieldsize($result,$offset); Break; Default: $r = False; Break; } Return $r; } /**** *获取数据并保存到数组,可以用数字索引方式访问数组 *****/ Function FetchRow($result,$RowNumber = 0) { Switch ($this->dbType) { Case "mssql": $r = mssql_fetch_row($result); Break; Case "mysql": $r = mysql_fetch_row($result); Break; Case "pg": $r = pg_fetch_row($result,$RowNumber); If ($r) { $this->curRow[$result] = $RowNumber; $this->seek[$result] = $RowNumber; } Break; Default: $r = False; Break; } Return $r; } /**** 希望本文所述对大家的PHP数据库程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |