php3.0教程 -- 数据库--dBase

---摘自《PHP资源网》 (文/Eric)

PHP的数据库功能应该说是它最有用的功能之一.  它的特点就是内置了对很多  数据库的支持,而不再需要重新扩充. 

Perl和Tcl也都是常用的跨平台语言,都有很强的字符能力,前者字符能力更  强一些,性能更高一些;而后者有GUI能力.它们都可以扩充以支持数据库,但这时如果  仍旧希望应用程序有跨平台能力,则需要在各种平台上各自扩充,比如在Unix平台上  对Perl扩充DBI包,在Windows  95/NT下对Perl扩充Win32::ODBC包,有时候这是很麻烦  的.

而PHP由于内置了数据库支持,就为编程人员省去了这些麻烦. 

PHP3.0支持以下数据库:  Adabas_D,dBase,dbm,filePro,mSQL,MySQL,Sybase,Oracle,PostgreSQL,Solid 

另外,支持Windows下的ODBC接口.  文档中说如果需要使用Microsoft  SQL  Server,可以用Sybase接口或ODBC接口  访问.  在Unix下编译时,应该在Configure时指定要带哪些数据库支持,系统中应该有  这些数据库的客户程序(至少是头文件和库文件).  对各种数据库,访问函数并不完全相同,例如那些基于SQL的数据库显然不能用  和dBase或dbm相同的方式访问

.以下比较详细地介绍几种数据库的访问函数:

一.dBase 

(1)dbase_create(文件名,域数组);
域数组的每一项又是一个数组,内容为该域的名称,类型,长度和精度(后两项  不一定要有).
域类型是一个字符,有这么几种值: 
"L"--逻辑,
"M"--备注,
"D"--日期,
"N"--数字,
"C"--字符串  返回一个数据库描述符,失败则返回false. 

(2)dbase_open(文件名,打开方式); 
打开方式与C的open函数中的一样.  返回一个数据库描述符,失败则返回false. 

(3)dbase_numfields(数据库描述符),
dbase_numrecords(数据库描述符); 

(4)dbase_add_record(数据库描述符,记录);
记录是一个数组.失败则返回false. 

(5)dbase_get_record(数据库描述符,记录号); 
返回一个数组,下标从0开始.该数组如果用下标"deleted"访问,可以得到  该记录是否已被删除的信息. 

(6)dbase_delete_record(数据库描述符,记录号); 

(7)dbase_pack(数据库描述符); 

(8)dbase_close(数据库描述符);