仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 787|回复: 7
打印 上一主题 下一主题

[学习教程] MYSQL网页设计php操纵access数据库类代码

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:17:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
列举选择MySQL的理由的最困难的地方在于,如何对这些理由进行排序。MySQL学习教程这就如同我们经常争论的故事:先有鸡还是先有蛋?以下是援用片断:
以下为援用的内容:
<?php
classAccess//Access数据库操纵类
{
var&#36;databasepath,&#36;constr,&#36;dbusername,&#36;dbpassword,&#36;link;//类的属性
functionAccess(&#36;databasepath,&#36;dbusername,&#36;dbpassword)//机关函数
{
&#36;this->databasepath=&#36;databasepath;
&#36;this->username=&#36;dbusername;
&#36;this->password=&#36;dbpassword;
&#36;this->connect();
}

functionconnect()//数据库毗连函数
{
&#36;this->constr="DRIVER={MicrosoftAccessDriver(*.mdb)};DBQ=".realpath(&#36;this->databasepath);
&#36;this->link=odbc_connect(&#36;this->constr,&#36;this->username,&#36;this->password,SQL_CUR_USE_ODBC);
return&#36;this->link;
//if(&#36;this->link)echo"祝贺你,数据库毗连乐成!";
//elseecho"数据库毗连失利!";
}

functionquery(&#36;sql)//送一个查询字符串到数据库中
{
return@odbc_exec(&#36;this->link,&#36;sql);
}

functionfirst_array(&#36;sql)//从access数据库中前往一个数组
{
return@odbc_fetch_array(&#36;this->query(&#36;sql));
}

functionfetch_row(&#36;query)//前往纪录中的一行
{
returnodbc_fetch_row(&#36;query);
}

functiontotal_num(&#36;sql)//获得纪录总数
{
returnodbc_num_rows(&#36;this->query(&#36;sql));
}

functionclose()//封闭数据库毗连函数
{
odbc_close(&#36;this->link);
}

functioninsert(&#36;table,&#36;field)//拔出纪录函数
{
&#36;temp=explode(’,’,&#36;field);
&#36;ins=’’;
for(&#36;i=0;&#36;i<count(&#36;temp);&#36;i++)
{
&#36;ins.="’".&#36;_POST[&#36;temp[&#36;i]]."’,";
}
&#36;ins=substr(&#36;ins,0,-1);
&#36;sql="INSERTINTO".&#36;table."(".&#36;field.")VALUES(".&#36;ins.")";
&#36;this->query(&#36;sql);
}

functiongetinfo(&#36;table,&#36;field,&#36;id,&#36;colnum)//获得当笔记录具体信息
{
&#36;sql="SELECT*FROM".&#36;table."WHERE".&#36;field."=".&#36;id."";
&#36;query=&#36;this->query(&#36;sql);
if(&#36;this->fetch_row(&#36;query))
{
for(&#36;i=1;&#36;i<&#36;colnum;&#36;i++)
{
&#36;info[&#36;i]=odbc_result(&#36;query,&#36;i);
}
}
return&#36;info;
}

functiongetlist(&#36;table,&#36;field,&#36;colnum,&#36;condition,&#36;sort="ORDERBYidDESC")//获得纪录列表
{
&#36;sql="SELECT*FROM".&#36;table."".&#36;condition."".&#36;sort;
&#36;query=&#36;this->query(&#36;sql);
&#36;i=0;
while(&#36;this->fetch_row(&#36;query))
{
&#36;recordlist[&#36;i]=getinfo(&#36;table,&#36;field,odbc_result(&#36;query,1),&#36;colnum);
&#36;i++;
}
return&#36;recordlist;
}

functiongetfieldlist(&#36;table,&#36;field,&#36;fieldnum,&#36;condition="",&#36;sort="")//获得纪录列表
{
&#36;sql="SELECT".&#36;field."FROM".&#36;table."".&#36;condition."".&#36;sort;
&#36;query=&#36;this->query(&#36;sql);
&#36;i=0;
while(&#36;this->fetch_row(&#36;query))
{
for(&#36;j=0;&#36;j<&#36;fieldnum;&#36;j++)
{
&#36;info[&#36;j]=odbc_result(&#36;query,&#36;j+1);
}
&#36;rdlist[&#36;i]=&#36;info;
&#36;i++;
}
return&#36;rdlist;
}

functionupdateinfo(&#36;table,&#36;field,&#36;id,&#36;set)//更新纪录函数
{
&#36;sql="UPDATE".&#36;table."SET".&#36;set."WHERE".&#36;field."=".&#36;id;
&#36;this->query(&#36;sql);
}

functiondeleteinfo(&#36;table,&#36;field,&#36;id)//删除纪录函数
{
&#36;sql="DELETEFROM".&#36;table."WHERE".&#36;field."=".&#36;id;
&#36;this->query(&#36;sql);
}

functiondeleterecord(&#36;table,&#36;condition)//删除指定前提的纪录函数
{
&#36;sql="DELETEFROM".&#36;table."WHERE".&#36;condition;
&#36;this->query(&#36;sql);
}

functiongetcondrecord(&#36;table,&#36;condition="")//获得指定前提的纪录数函数
{
&#36;sql="SELECTCOUNT(*)ASnumFROM".&#36;table."".&#36;condition;
&#36;query=&#36;this->query(&#36;sql);
&#36;this->fetch_row(&#36;query);
&#36;num=odbc_result(&#36;query,1);
return&#36;num;
}
}
?>
使用DBaaS能让收入损失从其他业务上得到弥补,如软件更新和硬件管理。也许决定走DBaaS之路的客户可能会跳过解决方案提供商,尽管这个决策看起来有点短视。
小女巫 该用户已被删除
沙发
发表于 2015-1-19 06:46:59 | 只看该作者
不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关
飘灵儿 该用户已被删除
板凳
发表于 2015-1-27 21:15:58 | 只看该作者
同样会为索引视图等应用带来麻烦。看看行级和事务级的快照数据放在tempdb中,就能感觉到目前架构的尴尬。
只想知道 该用户已被删除
地板
发表于 2015-2-12 03:30:22 | 只看该作者
总感觉自己还是不会SQL
乐观 该用户已被删除
5#
发表于 2015-3-2 22:45:43 | 只看该作者
分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。
6#
发表于 2015-3-11 07:18:25 | 只看该作者
一直以来个人感觉SQLServer的优化器要比Oracle的聪明。SQL2005的更是比2k聪明了不少。(有次作试验发现有的语句在200万级时还比50万级的相同语句要快show_text的一些提示没有找到解释。一直在奇怪。)
不帅 该用户已被删除
7#
发表于 2015-3-17 23:10:13 | 只看该作者
习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。
冷月葬花魂 该用户已被删除
8#
发表于 2015-3-25 06:53:13 | 只看该作者
入门没那么困难,精通没那么容易
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 20:27

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表