当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP调用三种数据库的方法(2)

PHP
PHP 执行系统外部命令 system() exec() passthru()
最新的php 文件上传模型,支持多文件上传
php 静态页面中显示动态内容
数据库查询记录php 多行多列显示
谈PHP生成静态页面分析 模板+缓存+写文件
PHP 各种排序算法实现代码
PHP nl2br函数 将换行字符转成 <br>
php 分页原理详解
Discuz 模板语句分析及知识技巧
php win下Socket方式发邮件类
怎样去阅读一份php源代码
建站常用13种PHP开源CMS比较
php xml留言板 xml存储数据的简单例子
PHP 开源AJAX框架14种
PHP 替换模板变量实现步骤
PHP has encountered an Access Violation at 7C94BD02解决方法
php 正则匹配函数体
php 文件夹删除、php清除缓存程序
php download.php实现代码 跳转到下载文件(response.redirect)
PHP类(Class)入门教程

PHP调用三种数据库的方法(2)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 177 ::
收藏到网摘: n/a

开放数据库连接(ODBC)已成为一种与数据库进行通信的工业标准。PHP也提供了标准的接口,使得PHP能调用Access,SQLSERVER等数据库。其相关函数是:

(1)integerodbc_connect(stringdsn,stringuser,stringpassword)

连接到一个ODBC数据库源名字上。

(2)integerodbc_exec(integerconnection,stringquery)或odbc_do(integerconnection,stringquery)

在一个连接上执行查询。

(3)booleanodbc_fetch_row(integerresult,integerrow)

从一个结果集中获取一行数据。Row参数是可选的,若为空缺,则返回下一个有效行。在结果集中不再剩余行时返回false。

(4)booleanodbc_close(integerconnection)

关闭一个数据库的连接。若在该连接上有打开的事务,则返回一个错误,而且连接不会被关闭。

最后,还是看个分页的例子:

<?

//设定每页显示条数

$show_num=10;

$spages=$pages;//避免$pages后期被改变

//定义连接

$dsn="localhost";

$user="sa";

$password="";

//计算总记录数

$rs_num="selectcount(*)asidfrombbswherezu='0'andlei='".$lei."'";

$conn_id=odbc_connect($dsn,$user,$password);

$rnum=odbc_exec($conn_id,$rs_num);

while(odbc_fetch_row($rnum)){

$total_rs=odbc_result($rnum,"id");//将总记录数放入$total_rs变量

}

//计算与页有关的条数

$nnn=$total_rs/$show_num;//计算总页数

$hnnn=intval($nnn);//将总页数取整

$cnnnn=$nnn-$hnnn;

//计算所需总页数

switch($cnnn){

case"0":

$hnnn++;

$nnn=$hnnn;//总页数

break;

default:

$nnn=$hnnn;//总页数

break;

};

if($nnn==0)$nnn++;

//计算页面改变所需的条件

$fore=$pages;

$next=$pages;

$fore-=1;

$next+=1;

if($fore>0){

echo"<a>首页</a>";

echo"<a>前页</a>";

};

if($pages<$nnn){

echo"<a>后页</a>";

echo"<a>尾页</a>";

};

echo"共".$nnn."页";

$query_string="SELECT*FROMtablewhereconditionorderbyyouwantedorder";

$cur=odbc_exec($conn_id,$query_string);

//取到循环的顶部

$cnum=($pages-1)*$show_num;//计算当前的记录游标的位置

//空循环到显示记录游标处

if($cnum!=0){

for($i=0;$i<=$cnum;odbc_fetch_row($cur)){$i++;};

};

$i=1;

//显示记录

while(odbc_fetch_row($cur)){

echo;

if($i==$show_num){//在不满页数时跳出程序

break;

};

$i++;

};

//关闭连接

odbc_close($conn_id);

?>