All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
ASP.NET的错误处理机制_[Asp.Net教程]
利用GridView显示主细表并一次编辑明细表所有数据的例子_[Asp.Net教程]
ASP.NET实例:Asp.net,FMS,开发视频网站_[Asp.Net教程]
Windows XP&2003 IIS安装PHP&MySQL环境完全教程_[PHP教程]
如何授予对存储过程的权限_[SQL Server教程]
PHP技巧:过滤在线编辑器产生的不安全html代码_[PHP教程]
三个SQL视图查出所有SQL Server数据库字典_[SQL Server教程]
c#,MD5加密算法的一个实例_[Asp.Net教程]
用XML和XSL来生成动态页面_[XML教程]
手工卸载SQL Server 2000数据库_[SQL Server教程]
Reading number is top 10 pictures
这两天,中国人民到处都可以“看海”了
俞敏洪在清华终于说了实话
Very beautiful interior decoration
赵惟依写真3
日本小萝莉1
XuRe xuan cool and refreshing photoes2
China's family planning commission forced abortions 270 million newborns for 30 years
清纯性感的美眉1
哥斯达黎加的门将是如何练成的
YangYuYing and ZhengShaoQiu dance on the generous come interest dye-in-the-wood
Download software ranking
Unix video tutorial7
The cock of the Grosvenor LTD handsome
Detective task-the top secret prostitution files
matrix3
Tram sex maniac 2 (H) rar bag16
Sora aoi's film--cangkong_Blue.Sky
Ashlynn Video1
Tram sex maniac 2 (H) rar bag10
电车之狼R
dreamweaver8中文版
归海一刀 published in(发表于) 2014/2/17 7:40:27 Edit(编辑)
PHP连接ACCESS数据库的类_[PHP教程]

PHP连接ACCESS数据库的类_[PHP教程]

PHP连接ACCESS数据库的类_[PHP教程]

  试过PHP连接ACCESS数据库没?这个用途不大,但有时候也用得着!我以前试图将一个ASP程序改写成PHP的,原程序的数据库设计得比较完善,我打算开发时就用它的ACCESS数据库 ,等程序完成后再转换。这个程序改写计划最终搁浅了,但此过程中为了方便连接ACCESS数据库,我写了个PHP连接ACCESS数据库的类,比较方便,希望有人用得着!


/*
作者:夜无眠
QQ:27262681

***本类只能在win平台的服务器上使用
*/
class access{
function access(dir){ //构析函数,调用.com建立数据源,链接数据库;参数为数据库文件路径
this->db=new com("adodb.connection");
this->db->open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=".realpath(dir));
}
function sql(sql){//参数为SQL查询语句
if(preg_match("/limit +([0-9]*),([0-9]*)/",sql,out)){//正则分析sql语句,提取limit参数,模拟MYSQL的分页
limit1=out[1];
limit2=out[2];
sql=preg_replace("/limit +([0-9]*),([0-9]*)/","",sql);
}
rs=this->db->execute(sql);
if(strpos(sql,"select")===false or strpos(sql,"select")>5){//非查询语句直接返回空值,防止错误提示出现
return "";
}
if(limit1==""){
limit1=0;
}
if(limit2==""){//如果没有limit参数,设limit2为总记录数
limit2=1000000;
}
rs->move(limit1);//记录指针移动到第limit1条记录处
i=0;
while(!rs->eof and i foreach(rs->fields as rss){
rs_r[rss->name]=rss->value;
}
rs_rr[]=rs_r;
rs->move(1);
i++;
}
return rs_rr;
}
function getlist(db,p=""){//此函数用于将关联数组各元素处理成相关变量,第二个参数为变量名前缀,防止重名
foreach(db as key=>dba){
global {p.key};
{p.key}=dba;
}
}
function yasuo(dir){//压缩数据库函数,本函数用access::yasuo(dir);调用,dir为数据库文件路径,调用次函数之前必须将所有当前数据库的连接中断!
ya =new com("JRO.JetEngine");
truedir=realpath(dir);
dirname=dirname(truedir);
prov="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";
ya->CompactDatabase(prov.truedir,prov.dirname."/aatmp.mdb");//数据库所在目录必须有读写权限,否则会导致失败!
unlink(truedir);
rename(dirname."/aatmp.mdb",truedir);
}
function add(file){//新建一个ACCESS数据库 参数file为文件路径,必须为相对路径
dir=dirname(_SERVER["SCRIPT_FILENAME"])."/".file;
db=new com("ADOX.Catalog");
db->Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=dir");
}
}
?>

不知道怎么用吧!下面有示例!


include("access.php");
access::add("my.mdb");//创建数据库
db=new access("my.mdb");//连接数据库
sql=<<CREATE TABLE a (
id AUTOINCREMENT(1,1),
name varchar(10))
eot;
db->sql(sql);//建表
sql=<<insert into `a` (`name`) values('wo ri');
eot;
db->sql(sql);//插入数据
db->sql("insert into `a` (`name`) values('靠');");
sql="select * from a limit 1,1";
rs=db->sql(sql);//查询
print_r(rs);
?>





添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.