本文目录一览:
- 1、PHP简单的操作Access数据库
- 2、php access 如何获得记录条数
- 3、php怎么连接access数据库
- 4、PHP读取Access数据库 出乱码
- 5、PHP有没有像ASP中rs.GetRows()高效率的提取数据的涵数?
PHP简单的操作Access数据库
关于用PHP连接ACCESS数据库的做法
用ASP和PHP的,一起做一个比较..
ASP程序
程序代码 程序代码
1.conn= "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" Server.MapPath("*.mdb")
2.set conn = server.createobject("adodb.connection")
3.conn.open conn
4.set rs = Server.CreateObject("adodb.recordset")
5.sql = "select * from 表名"
6.rs.Open sql, conn, 3, 1
7.rs.Close
PHP程序
程序代码 程序代码
?PHP
1.$conn = @new COM("ADODB.Connection") or die ("ADO连接失败!");
2.$connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("temp/TempData.mdb");
3.$conn-Open($connstr);
4.$rs = @new COM("ADODB.RecordSet");
5.$sql ="select * from blog_Content";
6.$rs-Open($sql,$conn,1,3);
7.$rs-close();
?
两个程序都相对应....很好理解了吧.嘿....然后就是ASP和PHP操作记录集了...有什么不同,,看资料了事5~
php: $rs[name/index];
asp: rs(name/index);
php: $rs-Fields["name"]-Value / fields[index]-Value;
asp: rs.fields(index)/rs.field(name);
php中的方法和ASP中基本一致,只是写法上不一样,,注意:PHP区分大小写,写时后面一定要加;号
asp:
修改记录集中的记录
rs.AddNew 向记录集中添加一条新记录
rs.Delete 从记录集中删除一条记录
rs.{fieldName/fieldIndex}=指定值;
rs.Update 保存对当前记录所做的修改
CancelBatch 当记录集处在批量更新模式时)取消一批更新
CancelUpdate 调用Update之前)取消对当前记录所做的所有修改
UpdateBatch 当记录集处于批量更新模式时)保存对一个或多个记录的修改
遍历记录集
Move NumRecords 在记录集中向前或向后移动指定数目的记录数。
MoveFirst 移动到记录集的第一条记录
MoveNext 移动到记录集的下一条记录
MovePrevious 移动到记录集中的上一条记录
MoveLast 移动到记录集的最后一条记录
记录集对象属性
AbsolutePosition 用来设置或读取当前记录在记录集中的位置顺序号
BOF 标明当前位置在记录集中的第一条记录之前
EOF 标明当前位置在记录集中的最后一条记录之后
RecordCount 表示一个记录集中的记录总数
记录集进行分页
AbsolutePage 指定当前的页
PagePount 返回记录集中的逻辑页数
PageSize 指定一个逻辑页中的记录个数,缺省值是10
GetRows() 记录取到数组
MaxRecords 记录集的最大容量
本人注:在文章最后只给出了ASP的内容,没有找到PHP的啊,还有我试验了以上内容,可是发现那容输出以后只是一个Object单词,不知道为什么,还希望高手不吝赐教!
php access 如何获得记录条数
recordCount的结果并不一定准确,建议先执行一个SELECT COUNT(*)的查询语句获取数据总数
php怎么连接access数据库
(1)创建系统数据源,用PHP提供的ODBC函数。
(2)使用PHP的ODBC函数,但不创建数据源。
PHP使用ODBC连接Access 数据库的方法。用$connstr="DRIVER= Microsoft Access Driver (*.mdb)来设置数据驱动,函数realpath()用来取得数据库的相对路径。利用该方法连接Access数据库主要应用到PHP的 odbc_connect()函数,该函数声明如下:
以下为引用的内容:
resourse odbc_connect( string dsn, string user, string password [, int cursor_type])
dsn:系统dsn名称
user:数据库服务器某用户名。
password:数据库服务器某用户密码。
cursor_type:游标类型。
代码如下:
以下为引用的内容:
$connstr="DRIVER=Microsoft Access Driver (*.mdb);
DBQ=".realpath("bookinfo.mdb");
$connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC );
(3)使用微软的ADODB数据库驱动。
定义类COM来使用ADO方法操纵Access数据库的。
该类详细说明如下:
以下为引用的内容:
string com::com( string module_name [, string server_name [, int codepage]])
module_name:被请求组件的名字或class-id。
server_name:DCOM服务器的名字。
Codepage:指定用于将PHP字符串转换成UNICODE字符串的代码页,反之亦然。该参数的取值有CP_ACP、CP_MACCP、CP_OEMCP、CP_SYMBOL、CP_THREAD_ACP、CP_UTF7和CP_UTF8。
PHP利用com类并使用ADO方法访问数据库的代码如下:
以下为引用的内容:
$conn = new com("ADODB.Connection");
$connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("bookinfo.mdb ");
$conn-Open($connstr);
PHP读取Access数据库 出乱码
PHP连接ACC是一个比较冷门的数据结构。一般使用php搭配Mysql使用。
access的中文版默认是GBK格式的,是无法改变字符类型的,所以用php读取的时候会乱码。
解决方法是:使用iconv转换
一、使用 iconv函数制作一个转码的自定义从GBK转到UTF-8的函数,如以下代码:
function enc($c){return iconv('gbk','utf-8',$c);}
二、为了写入数据库的编码是符合数据库需要的,所以我们还要制作一个从UTF-8转向GBK的函数:
function dec($c){return iconv('utf-8','gb2312',$c);}
制作好了转码函数,接下就是正常使用了。在从数据库里面调数据显示在页面的时候使用enc()函数,从页面提交数据到数据库时使用dec()函数,这样就可以很好的解决PHP使用UTF-8编码,ACCESS使用系统默认编码的问题了。
PHP有没有像ASP中rs.GetRows()高效率的提取数据的涵数?
php+mysql绝对优于asp+access的,我是从asp到php的,mysql有个limit N,N这个我们要几条记录就取几条,所以你不用担心速度.只要数据库优化得好.