php操作mysql类库
2014-04-01 10:03
239 查看
<?php
class mysql{
private $Host="";
private $User="";
private $Password="";
private $DB="";
private $dbCharSet="";
//==================
private $Link_ID=0; //数据库连接
private $Query_ID=0; //查询结果
private $Row_Result=array(); //结果集成组的数组
private $Field_Result=array(); //结果集字段名组成数组
private $Affected_row; //影响行数
private $Rows; //结果集中记录的行数
private $Fields; //结果集字段数
private $Row_Position; //记录指针位置索引
private $Error;
function __construct($hostname,$username,$password,$db,$dbcharset){
$this->Host=$hostname;
$this->User=$username;
$this->Password=$password;
$this->DB=$db;
$this->dbCharSet=$dbcharset;
}
//连接数据库
private function connect(){
if(0 == $this->Link_ID){
$this->Link_ID=mysql_connect($this->Host,$this->User,$this->Password);
if(!$this->Link_ID){
$this->halt("连接数据库服务端失败!");
}
if(!mysql_select_db($this->DB,$this->Link_ID)){
$this->halt("不能打开指定的数据库".$this->DB);
}
mysql_query("SET NAMES $this->dbCharSet");
}
}
//查询数据
function query($Query_string){
if($this->Query_ID){
$this->free();
}
if(0 == $this->Link_ID){
$this->connect();
}
$this->Query_ID=mysql_query($Query_string);
if(!$this->Query_ID){
$this->halt("SQL查询语句出错:".$Query_string);
}
return $this->Query_ID;
}
//将结果集指针指向指定行
function seek($Position){
if(@mysql_data_seek($this->Query_ID,$Position)){
$this->Row_Position=$Position;
return true;
}else{
$this->halt("定位结果集发生错误");
return false;
}
}
//释放内存
function free(){
if(@mysql_free_result($this->Query_ID)){
unset($this->Row_Result); //释放由结果集组成的数组
}
$this->QueryID=0;
}
//返回结果集记录组成的数组
function get_rows_array(){
$this->get_rows();
for($i=0;$i<$this->Rows;$i++){
if(!mysql_data_seek($this->Query_ID,$i)){
$this->halt("mysql_data_seek查询语句出错");
}
$this->Row_Result[$i]=mysql_fetch_array($this->Query_ID);
}
return $this->Row_Result;
}
//返回结果集字段组成的数组
function get_fields_array(){
$this->get_fields();
for($i=0;$i<$this->Fields;$i++){
$obj=mysql_fetch_field($this->Query_ID);
$this->Field_Result[$i]=$obj->name;
}
return $this->Field_Result;
}
//返回影响记录数
function affected_rows(){
$this->Affected_row=mysql_affected_rows($this->Link_ID);
return $this->Affected_row;
}
//返回结果集的记录行数
private function get_rows(){
$this->Rows=mysql_num_rows($this->Query_ID);
return $this->Rows;
}
//返回结果集字段数
private function get_fields(){
$this->Fields=mysql_num_fields($this->Query_ID);
return $this->Fields;
}
//执行SQL语句并返回由查询结果中第一行记录组成的数组
function fetch_one_array($Query_string){
$this->query($Query_string);
return mysql_fetch_array($this->Query_ID);
}
//取得Mysql数据库的版本
function version(){
return mysql_get_server_info();
}
//打印错误信息
function halt($msg){
$this->Error=mysql_error();
printf("<br><b>数据库发生错误:</b>%s<br>\n",$msg);
printf("<b>MySQL 返回错误信息:</b> %s <br>\n",$this->Error);
die("脚本终止");
}
function close(){
if(0 != $this->Link_ID){
mysql_close($this->Link_ID);
}
}
function __destruct(){
$this->close();
}
}
?>
---------
<?php
include_once("sql.php");
include_once("checktime.php");
$DB=new mysql("localhost","root","","testmysql","utf8");
$DB->query("SELECT * FROM `mytable` LIMIT 0 , 30");
//$DB->query("insert into mytable (name,pass) values('y','i')");
//$arr=$DB->get_fields_array();
//$arr1=$DB->get_rows_array();
//var_dump($arr);
var_dump($arr1);
?>
class mysql{
private $Host="";
private $User="";
private $Password="";
private $DB="";
private $dbCharSet="";
//==================
private $Link_ID=0; //数据库连接
private $Query_ID=0; //查询结果
private $Row_Result=array(); //结果集成组的数组
private $Field_Result=array(); //结果集字段名组成数组
private $Affected_row; //影响行数
private $Rows; //结果集中记录的行数
private $Fields; //结果集字段数
private $Row_Position; //记录指针位置索引
private $Error;
function __construct($hostname,$username,$password,$db,$dbcharset){
$this->Host=$hostname;
$this->User=$username;
$this->Password=$password;
$this->DB=$db;
$this->dbCharSet=$dbcharset;
}
//连接数据库
private function connect(){
if(0 == $this->Link_ID){
$this->Link_ID=mysql_connect($this->Host,$this->User,$this->Password);
if(!$this->Link_ID){
$this->halt("连接数据库服务端失败!");
}
if(!mysql_select_db($this->DB,$this->Link_ID)){
$this->halt("不能打开指定的数据库".$this->DB);
}
mysql_query("SET NAMES $this->dbCharSet");
}
}
//查询数据
function query($Query_string){
if($this->Query_ID){
$this->free();
}
if(0 == $this->Link_ID){
$this->connect();
}
$this->Query_ID=mysql_query($Query_string);
if(!$this->Query_ID){
$this->halt("SQL查询语句出错:".$Query_string);
}
return $this->Query_ID;
}
//将结果集指针指向指定行
function seek($Position){
if(@mysql_data_seek($this->Query_ID,$Position)){
$this->Row_Position=$Position;
return true;
}else{
$this->halt("定位结果集发生错误");
return false;
}
}
//释放内存
function free(){
if(@mysql_free_result($this->Query_ID)){
unset($this->Row_Result); //释放由结果集组成的数组
}
$this->QueryID=0;
}
//返回结果集记录组成的数组
function get_rows_array(){
$this->get_rows();
for($i=0;$i<$this->Rows;$i++){
if(!mysql_data_seek($this->Query_ID,$i)){
$this->halt("mysql_data_seek查询语句出错");
}
$this->Row_Result[$i]=mysql_fetch_array($this->Query_ID);
}
return $this->Row_Result;
}
//返回结果集字段组成的数组
function get_fields_array(){
$this->get_fields();
for($i=0;$i<$this->Fields;$i++){
$obj=mysql_fetch_field($this->Query_ID);
$this->Field_Result[$i]=$obj->name;
}
return $this->Field_Result;
}
//返回影响记录数
function affected_rows(){
$this->Affected_row=mysql_affected_rows($this->Link_ID);
return $this->Affected_row;
}
//返回结果集的记录行数
private function get_rows(){
$this->Rows=mysql_num_rows($this->Query_ID);
return $this->Rows;
}
//返回结果集字段数
private function get_fields(){
$this->Fields=mysql_num_fields($this->Query_ID);
return $this->Fields;
}
//执行SQL语句并返回由查询结果中第一行记录组成的数组
function fetch_one_array($Query_string){
$this->query($Query_string);
return mysql_fetch_array($this->Query_ID);
}
//取得Mysql数据库的版本
function version(){
return mysql_get_server_info();
}
//打印错误信息
function halt($msg){
$this->Error=mysql_error();
printf("<br><b>数据库发生错误:</b>%s<br>\n",$msg);
printf("<b>MySQL 返回错误信息:</b> %s <br>\n",$this->Error);
die("脚本终止");
}
function close(){
if(0 != $this->Link_ID){
mysql_close($this->Link_ID);
}
}
function __destruct(){
$this->close();
}
}
?>
---------
<?php
include_once("sql.php");
include_once("checktime.php");
$DB=new mysql("localhost","root","","testmysql","utf8");
$DB->query("SELECT * FROM `mytable` LIMIT 0 , 30");
//$DB->query("insert into mytable (name,pass) values('y','i')");
//$arr=$DB->get_fields_array();
//$arr1=$DB->get_rows_array();
//var_dump($arr);
var_dump($arr1);
?>
相关文章推荐
- php实现方法重载
- PHP中的WebService
- PHP安装环境搭建
- PHP正则表达式之快速学习法
- php根据年月获取季度示例
- php时间戳转实例代码
- php-fpm 参数及配置详解
- PHP把网页保存为word文件的三种方法
- PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
- php验证是否是md5编码的简单代码
- ThinkPHP使用UTFWry地址库进行IP定位实例
- yii上传文件或图片实例
- 用PHP来计算某个目录大小的方法
- PHP获取栏目的所有子级和孙级栏目的ID号示例
- Laravel have empty or blank page when install..
- ExtJS4.2学习 php版(四)
- zend studio
- PHP需要做的计划表
- dtplayer结构设计的几点说明
- 【小白笔记】PHP学习之路 (22) --对象 __autoload spl_autoload_register 自动载入