MYSQL网页设计php操纵access数据库类代码
列举选择MySQL的理由的最困难的地方在于,如何对这些理由进行排序。MySQL学习教程这就如同我们经常争论的故事:先有鸡还是先有蛋?以下是援用片断:以下为援用的内容:
<?php
classAccess//Access数据库操纵类
{
var$databasepath,$constr,$dbusername,$dbpassword,$link;//类的属性
functionAccess($databasepath,$dbusername,$dbpassword)//机关函数
{
$this->databasepath=$databasepath;
$this->username=$dbusername;
$this->password=$dbpassword;
$this->connect();
}
functionconnect()//数据库毗连函数
{
$this->constr="DRIVER={MicrosoftAccessDriver(*.mdb)};DBQ=".realpath($this->databasepath);
$this->link=odbc_connect($this->constr,$this->username,$this->password,SQL_CUR_USE_ODBC);
return$this->link;
//if($this->link)echo"祝贺你,数据库毗连乐成!";
//elseecho"数据库毗连失利!";
}
functionquery($sql)//送一个查询字符串到数据库中
{
return@odbc_exec($this->link,$sql);
}
functionfirst_array($sql)//从access数据库中前往一个数组
{
return@odbc_fetch_array($this->query($sql));
}
functionfetch_row($query)//前往纪录中的一行
{
returnodbc_fetch_row($query);
}
functiontotal_num($sql)//获得纪录总数
{
returnodbc_num_rows($this->query($sql));
}
functionclose()//封闭数据库毗连函数
{
odbc_close($this->link);
}
functioninsert($table,$field)//拔出纪录函数
{
$temp=explode(’,’,$field);
$ins=’’;
for($i=0;$i<count($temp);$i++)
{
$ins.="’".$_POST[$temp[$i]]."’,";
}
$ins=substr($ins,0,-1);
$sql="INSERTINTO".$table."(".$field.")VALUES(".$ins.")";
$this->query($sql);
}
functiongetinfo($table,$field,$id,$colnum)//获得当笔记录具体信息
{
$sql="SELECT*FROM".$table."WHERE".$field."=".$id."";
$query=$this->query($sql);
if($this->fetch_row($query))
{
for($i=1;$i<$colnum;$i++)
{
$info[$i]=odbc_result($query,$i);
}
}
return$info;
}
functiongetlist($table,$field,$colnum,$condition,$sort="ORDERBYidDESC")//获得纪录列表
{
$sql="SELECT*FROM".$table."".$condition."".$sort;
$query=$this->query($sql);
$i=0;
while($this->fetch_row($query))
{
$recordlist[$i]=getinfo($table,$field,odbc_result($query,1),$colnum);
$i++;
}
return$recordlist;
}
functiongetfieldlist($table,$field,$fieldnum,$condition="",$sort="")//获得纪录列表
{
$sql="SELECT".$field."FROM".$table."".$condition."".$sort;
$query=$this->query($sql);
$i=0;
while($this->fetch_row($query))
{
for($j=0;$j<$fieldnum;$j++)
{
$info[$j]=odbc_result($query,$j+1);
}
$rdlist[$i]=$info;
$i++;
}
return$rdlist;
}
functionupdateinfo($table,$field,$id,$set)//更新纪录函数
{
$sql="UPDATE".$table."SET".$set."WHERE".$field."=".$id;
$this->query($sql);
}
functiondeleteinfo($table,$field,$id)//删除纪录函数
{
$sql="DELETEFROM".$table."WHERE".$field."=".$id;
$this->query($sql);
}
functiondeleterecord($table,$condition)//删除指定前提的纪录函数
{
$sql="DELETEFROM".$table."WHERE".$condition;
$this->query($sql);
}
functiongetcondrecord($table,$condition="")//获得指定前提的纪录数函数
{
$sql="SELECTCOUNT(*)ASnumFROM".$table."".$condition;
$query=$this->query($sql);
$this->fetch_row($query);
$num=odbc_result($query,1);
return$num;
}
}
?>
使用DBaaS能让收入损失从其他业务上得到弥补,如软件更新和硬件管理。也许决定走DBaaS之路的客户可能会跳过解决方案提供商,尽管这个决策看起来有点短视。 不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关 同样会为索引视图等应用带来麻烦。看看行级和事务级的快照数据放在tempdb中,就能感觉到目前架构的尴尬。 总感觉自己还是不会SQL 分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。 一直以来个人感觉SQLServer的优化器要比Oracle的聪明。SQL2005的更是比2k聪明了不少。(有次作试验发现有的语句在200万级时还比50万级的相同语句要快show_text的一些提示没有找到解释。一直在奇怪。) 习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。 入门没那么困难,精通没那么容易
页:
[1]