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

  • 来源: 互联网 作者: rocket   2008-03-17/10:35
  • 开放数据库连接(ODBC)已成为一种与数据库进行通信的工业标准。PHP也提供了标准的接口,使得PHP能调用Access,SQL SERVER等数据库。其相关函数是:

    (1)integer odbc_connect(string dsn, string user, string password)

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

    (2)integer odbc_exec(integer connection, string query)或 odbc_do(integer connection, string query)

    在一个连接上执行查询。

    (3)boolean odbc_fetch_row(integer result, integer row)

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

    (4)boolean odbc_close(integer connection)

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

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

    <?

    //设定每页显示条数

    $show_num = 10;

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

    //定义连接

    $dsn = "localhost";

    $user = "sa";

    $password = "";

    //计算总记录数

    $rs_num = "select count(*) as id from bbs where zu='0' and lei='".$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 * FROM table where condition order by you wanted order";

    $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);

    ?>

    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多