⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme.txt

📁 易于使用的php数据访问对象,从业务逻辑代码中剥离sql查询,易于维护和扩充功能.目前仅在自己的代码中使用,我一个人水平有限,osdn的高手们,一起来改进完善它吧,Simple PHP Databas
💻 TXT
字号:
spdol简单使用说明和示例代码
a
假设我们使用本机上默认端口的Mysql,用户名root,密码123456,有个数据库叫testdb,那么先创建一个dbi对象

$dbi = new dbi_mysql('localhost', 'root', '123456', 'testdb');

这个数据库里有张表叫 tb_test,要对这张表操作,定义一个 tb_test 类,这个类是table的子类。注意类名和表名一样。
这个类的属性就是表的字段名。

class tb_test extends table{

	var $id;
	var $name;
	var $description;
	var $flag;

	function tb_test(&$dbi){
		parent::table(get_class($this), $dbi);
	}
}

现在只要在程序里创建类 tb_test 的实例,我们就可以以对象的方式来操作这个表了,enjoy it。
$t = new tb_test($dbi);


插入:
$t->name = 'ok';
$t->description = 'i am a table.';
$t->insert();

==========================================================================================

删除:
$t->name = 'sfs';
$t->delete();

==========================================================================================

查询:
$t->id = 23;
$ra = $t->select();
foreach ($ra as $row){
	echo $row->name;
}

查询并按某字段排序:
$t->flag = 1;
$ra = $t->select('name', 1);
第一个参数为排序字段名,第二个参数为顺序,0为升序1为降序

限量查询:
$t->flag = 1;
$ra = $t->select(-1, -1, 3, 20);
从符合条件的第4条记录起取20条记录

排序并限量:
$t->flag = 1;
$ra = $t->select('name', 0, 0, 5);

注意select()返回的$ra是 tb_test 对象数组,数组元素符合查询条件的 tb_test 对象。
select()更详细用法在详细文档里会有说明。

==========================================================================================

更新:
$t->id = 45;

$ua = array();
$ua['name'] = 'ddd';
$ua['description'] = 'sfsfsdf';

$t->update($ua);

注意update()接受参数为数组,数组键名为想更新的字段名,值为想更新的字段名对应的新值。

==========================================================================================

符合条件行数:
$t->name = 'wang';
echo $t->numrows();

==========================================================================================

对事务的支持:
$dbi->startta();
$t->id = 45;
$t->name = 'wo';
$t->insert();
$dbi->commit(); //或$dbi->rollback();

==========================================================================================

其他:
selectmax(字段名)
selectmin(字段名)
selectsum(字段名)
顾名思义。。。


spdol简单说明
2006.9.15
详细说明文档制作中。。。

补:
那些不能通过table类执行的sql语句的解决方法(例):

$dbi = new dbi_mysql('host', 'user', 'pass', 'dbname');
$sql = 'select c.* from cbme_component c,cbme_cstatus c2 where c.statusid=c2.id';
$rs = $dbi->query($sql);
while ($row = $dbi->getrow($rs)){
	echo $row['Name'];
	...
}


如果操作单张表,也可以像下面那样:
$ra = $t->query('select count(*) from table1 group by name having count(*)>5');
返回的$ra仍是数组。
foreach ($ra as $row){
	echo $row->name;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -