PHP DBX 应用ABC

原创 2006年05月18日 09:36:00

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

项目中用到的dbx命令的简单使用方法

dbx是unix下普遍的源码调试工具, 掌握好了dbx的使用,无疑象增添了unix下编程的一把利器研究了一下午dbx的连机文档,发现dbx很是简单易用现在简单介绍一下dbx的使用方法,让更多的朋友免去...
  • Monster_ll
  • Monster_ll
  • 2007年04月05日 19:55
  • 3332

dbx调试

 dbx 命令 用途 提供了一个调试和运行程序的环境。 语法 dbx [ -a ProcessID ] [ -c CommandFile ] [ -d NestingDepth ] [ -I Dire...
  • greytree
  • greytree
  • 2007年10月30日 14:17
  • 4092

dbx 常用命令

  • njnu_mjn
  • njnu_mjn
  • 2013年06月10日 19:22
  • 2165

如何在AIX机器上使用dbx调试core dump

How to analyse core dump on AIX with dbx This article explains how to analyse core dump on AIX wi...
  • zhifeng172
  • zhifeng172
  • 2014年02月24日 23:22
  • 3380

echo count(“abc”); 输出什么?

”1″count —计算数组中的单元数目或对象中的属性个数int count (mixed$var [, int$mode ] ), 如果 var 不是数组类型或者实现了Countable 接口的对象...
  • guichenglin
  • guichenglin
  • 2010年12月03日 13:33
  • 5079

dbx 使用方法

dbx 使用方法 dbx是UNIX下基于命令行界面的程序调试器,假如不能学会dbx,无疑将为你在UNIX端的编程上增添许多的困难。    dbx是通过交互执行dbx子命令来达到调试...
  • yangyangye
  • yangyangye
  • 2014年02月24日 10:23
  • 2026

Outlook Express DBX文件超过2G解决办法

很多朋友都会遇到这一问题:Outlook Express突然不能接收邮件了,结果打开邮件目录一看,dbx邮件数据库文件超过2G(此分区是FST32的格式),Windwos大哥不能识别了,或者是突然停电...
  • u014461454
  • u014461454
  • 2014年03月31日 17:42
  • 831

dbx 命令

dbx 命令用途提供了一个调试和运行程序的环境。语法dbx [ -a ProcessID ] [ -c CommandFile ] [ -d NestingDepth ] [ -I Directory...
  • wbj1234566
  • wbj1234566
  • 2009年03月27日 11:06
  • 1831

Outlook里面的.dbx文件怎么打开啊

太傻超级论坛 » 数码生活 » .dbx文件怎么打开啊,请教各位了!!!2004-6-2 16:30 zmd100.dbx文件怎么打开啊,请教各位了!!!.dbx文件怎么打开啊,请教各位了!!!200...
  • aiwtu
  • aiwtu
  • 2006年10月28日 17:32
  • 8728

dbx转pst具体步骤[已验证通过]

这里只介绍怎么将dbx文件转成pst文件,至于什么Outlook 2010怎么加载dbx文件?只有Outlook 2010和dbx文件,没装Outlook Express,该怎么加载dbx文件呢?自己...
  • baichuanxiao
  • baichuanxiao
  • 2012年07月26日 18:51
  • 7024
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP DBX 应用ABC
举报原因:
原因补充:

(最多只允许输入30个字)