关闭

PHP DBX 应用ABC

1128人阅读 评论(0) 收藏 举报

PHP DBX 应用ABC

PHP本身内置了DBX函数,DBX模块是一个数据库抽象层(DBX中的“X”就表示其所能支持的X种数据库)。DBX函数允许你访问所有DBX支持的数据库。

PHP4为例,DBX支持下列数据库:

l         Mysql

l         ODBC

l         PgSQL

l         Mssql(Microsoft SQL Server)

l         Fbsql

要使用DBX,就要事先让PHP支持DBX,以WINDOWS平台为例:

WINDOWS平台上的PHP支持DBX,其实很简单,DBXDLL文件已经预编译并且包含在WINDOWS版本的HP安装文件中。找到那个熟悉的php.ini文件。查找到下面一行:

Extension_dir=./

将其改为:

Extension_dir=”X:/php/extensions”,其中X为你安装PHP所在的盘符,PHP为你PHP所在的安装后的目录。

然后再找到下面一行:

;windows extensions

找到下面这一行:

;Extension=php_dbx.dll

默认这一行作为注释,去掉注释(即去掉前面的分号)。

保存,重启APACHE

Phpinfo()一下,看看有没有对DBX的支持,如果有,那就表明配置完成。可以使用DBX了。

DBX有自己的一套相关函数,可以用它们来访问多种数据库:

1.Dbx_close(connection):顾名思义关闭一个数据连接,参数CONNECTION就是创建数据库连接的链接标识符。

2.DBX­_CONNECT(MODULE,HOST,DATABASE,USER,PASSWORD,PERSISTENT)

用于建立数据库连接。参数:

MODULE-想要连接的数据库模块(也就是数据库类型),它的值有:

1.DBX_MYSQLmysql数据库。

2.DBX_ODBC-任何支持ODBC连接的数据库(兴奋吧)

3.DBX_PGSQLpostgresql数据库

4.DBX_MSSQLMS SQL数据库。

5.DBX_FBSQLFrontbase数据库。

HOST-数据库主机名称或者IP地址

USER-用户名

PASSWORD-密码

PERSISTENT-是否建立永久连接(可省略)

3.DBX_errorCONNECTION),相关错误。CONNECTION参数同上。

4.DBX_QUERYCONNECTIONSQL STATEMENT,FLAGS)数据库查询操作。

a)         参数CONNECTION同上;

b)        SQL STATEMENT:标准的SQL查询语句;

c)        FLAG-返回的相关信息,可省略。

暂时只介绍这四个函数。

下面用例子来说明:用DBX来连接MYSQLMSSQL两种数据库。

创建数据库和表:

---------db.sql------------

Create database mydb;

Use mydb;

Create table test (

ID int not null,

Username varchar (10),

primary key(id));

<html>

       <body>

              <?php

              $MODULE=DBX_MYSQL;   //连接MYSQL数据库

              $server="127.0.0.1";                    //数据库服务器所在的主机名或者IP地址。

              $user="root";                              //访问数据库的用户名

              $password="";                                   //用户密码

              $database="mydb";               //所要操作的数据库

             

              //连接数据库

              $dbconn=dbx_connect($MODULE,$server,$database,$user,$password) or die("不能连接数据库");

              ?>

              <h1>填写信息</h1>

              <form action=dbx_test.php method=post>

              <p><b>输入学号:</b>

                     <br>学号: <input type="text" name="id" maxlength="8" value="2006001">

                     <br>姓名: <input type="text" name="username">

                     <input type="submit" name="addinfo" value="完成输入">

              </form>

              <?php

              if(isset($addinfo))                 //如果单击了提交按钮

              {

                     $sql="insert into test values('$id','$username')";

                     $result=dbx_query($dbconn,$sql);              //执行查询语句,这里为插入一条记录

                    

                     if($result==0)

                     {

                            echo "<p><b>ERROR!".dbx_error($dbconn);     //错误处理

                     }

                     else

                     {

                            print("<p>添加 $username 成功!");

                     }

                    

                     $sql="select * from test";

                     $result=dbx_query($dbconn,$sql);                     //查询数据,浏览刚插入的记录。

                     if($result==0)

                     {

                            echo dbx_error($dbconn);

                     }

                     else

                     {

                            return $result;

                     }

                     if(sizeof($result->data)==0)

                     {

                     ?>

                     <h3>数据库中没有数据,你需要添加些数据!

                     <?php

                     }

                     else

                     {

                            global $result;

                            for($i=0;$i<sizeof($result->data);$i++)

                            {

                                   echo $result->data[$i]['id'];

                                   echo "<br>";

                                   echo $result->data[$i]['username'];

                                   echo "<br>";

                            }

                     }

              }

              ?>

       </body>

</html>

如果你使用的是SQL SERVER数据库,那么将上面的$MODULE=DBX_MSSQL就可以,看DBX就是这么简单。

注:本文参考:《advanced php for web professionals

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:98473次
    • 积分:1504
    • 等级:
    • 排名:千里之外
    • 原创:53篇
    • 转载:10篇
    • 译文:0篇
    • 评论:31条
    最新评论
    vc++