写了两个小时,终于完成了。
首先声明,这个类写得还有很多问题,希望大家不要扔砖头。所以我把他发在基础编程里面。
请大家多提意见,如果效果好,将一直更新。
首先声明,这个类写得还有很多问题,希望大家不要扔砖头。所以我把他发在基础编程里面。
请大家多提意见,如果效果好,将一直更新。
解决方案 »
- Java+安卓+DotNet+PHP史上最全最给力最详细的全套视频教程【有图有链接】
- 有关PHP Pack和服务器配置...
- js方法中可以写php代码么?
- foreach($$_request as $_key => $_value)$$_request这个可变变量有啥用呢。
- 分页的时候,$resCount/$pageSize,记录数小于每页显示个数,相除为小数,怎么办?
- 求教高手: 使用SESSION进行中英文网站切换的问题?
- 散分散分啦!大家帮我看看这个网站引擎怎么样
- 菜鸟又碰到问题了,还得请各位大侠帮忙,谢谢^-^ 我的session值取不到
- PHP中的 header 语句问题?在线等
- 请教个问题
- php 数组放进去的值,取出后不一致。
- php如何在linux下读取doc内容
<?php
/*
* auther:Evan Hou
* descript: database operation class, come true coherence DB.
* Data:2010-01-07 11:04
*/
class db_class
{
public $CONN = '';
public $RES = '';
public $selectLang = '';
public $updateLang = '';
public $insertLang = '';
public $deleteLang = ''; function __construct()
{
$this->CONN = mysqli_connect('localhost', 'root', '123456', 'test');
} function __destruct()
{
if(is_object($this->RES)) mysqli_free_result($this->RES);
mysqli_close($this->CONN);
} function __set($name, $value)
{
echo $name = 'not find method!';
} function __get($name)
{
echo 'not define value! $'.$name.'<br>';
} function __call($name, $arguments)
{
echo 'not define method: '. $name.'<br>';
echo 'invalid paramater: '. implode(',', $arguments).'<br>';
} public function select($part)
{
$this->selectLang[] = 'select '.$part;
return $this;
} public function from($part)
{
$this->selectLang[] = 'from '.$part;
$this->RES = mysqli_query($this->CONN, implode(' ', $this->selectLang));
return $this;
} public function where($part)
{
$this->selectLang[] = 'where '.$part;
$this->RES = mysqli_query($this->CONN, implode(' ', $this->selectLang));
return $this;
} public function fetchArrayOne()
{
return mysqli_fetch_array($this->RES, MYSQLI_ASSOC);
} public function fetchArrayAll()
{
$rows = array();
while($row = mysqli_fetch_array($this->RES, MYSQLI_ASSOC)) $rows[] = $row;
return $rows;
} public function fetchObjOne()
{
return mysqli_fetch_object($this->RES);
}
public function update($part)
{
$this->updateLang[] = 'update '.$part;
return $this;
} public function set($part)
{
$this->updateLang[] = 'set '.$part;
return $this;
} public function uWhere($part)
{
$this->updateLang[] = 'where '.$part;
return $this;
} public function execute()
{
mysqli_query($this->CONN, implode(' ', $this->updateLang));
} public function insert($part)
{
$this->insertLang[] = 'insert into '.$part;
return $this;
} public function fields($part)
{
$this->insertLang[] = '('.$part.')';
return $this;
} public function values($part)
{
$this->insertLang[] = 'values'.'('.$part.')';
mysqli_query($this->CONN, implode(' ', $this->insertLang));
} public function delete()
{
$this->deleteLang[] = 'delete ';
return $this;
} public function dForm($part)
{
$this->deleteLang[] = 'from '.$part;
return $this;
} public function dWhere($part)
{
$this->deleteLang[] = 'where '.$part;
mysqli_query($this->CONN, implode(' ', $this->deleteLang));
}
}
/*
* example
* include DB select,update,insert,datele operation demo.
* must has database table and configure connect database user with password.
*/
$a = new db_class();//select example
$a->select('*')->from('test')->where("name = 'joan'")->fetchArrayAll();//update example
$a->update('test')->set("name = Evans")->uWhere("id = '5'");//insert example
$a->insert('test')->fields('name,text')->values("'Alex', 'hello Alex'");//delete example
$a->delete()->dForm('test')->dWhere("id = '4'");
?>
数据库:
-- phpMyAdmin SQL Dump
-- version 2.10.3
-- http://www.phpmyadmin.net
--
-- 主机: localhost
-- 生成日期: 2010 年 01 月 07 日 03:08
-- 服务器版本: 5.0.51
-- PHP 版本: 5.2.6SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";--
-- 数据库: `test`
-- -- ----------------------------------------------------------
-- 表的结构 `test`
-- CREATE TABLE `test` (
`id` int(10) NOT NULL auto_increment,
`name` varchar(10) character set utf8 collate utf8_unicode_ci NOT NULL,
`text` varchar(10) character set utf8 collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=15 ;--
-- 导出表中的数据 `test`
-- INSERT INTO `test` (`id`, `name`, `text`) VALUES
(1, 'evan', 'hello evan'),
(2, 'joan', 'hello joan'),
(3, 'cary', 'hello cary'),
(14, 'Alex', 'hello Alex');