关于php使用adodb5访问sqlserver2005的问题

沈逸 2012-07-20 12:39:01
最近客户要求使用php+sqlserver2005 做系统

因此依然使用了 php+adodb5
不过发现了一个问题。

不管怎么取 都只能取到第一条数据,后面几百条都不出现。

首先 连数据库 正确 代码如下
$myDSN="PROVIDER=MSDASQL;DRIVER={SQL Server};SERVER={127.0.0.1};DATABASE=hdf;UID=sa;PWD=123;";
if(self::$db!=null && self::$db->isConnected())
return ;

self::$db = NewADOConnection(PSConfig::$DBType);(这里使用的是ado_mssql)
self::$db->debug = true;
self::$db->charPage = 65001;

self::$db->Connect($myDSN);

self::$db->SetFetchMode(ADODB_FETCH_ASSOC);
这里绝对正确 不用怀疑,

接下来是 开始取表的数据

$result=self::$db->Execute("select * from city");
到这里 也正确

但是我用var_dump($result);

发现一个奇怪的现象, 只显示这张表的第一条数据。

用 echo $result->RecordCount().'条';
可以抛出有437条

包括后来我开始遍历依然 只能遍历到 第一条
while(!$result->EOF)
{

$returnV[]=$result->fields;

$result->MoveNext();

}

请高手 帮助一下,是否哪里需要设置 还是adodb5本身的问题


注意:如果切换成mysql数据库 同样的表 一切正常
我的adodb的类库版本是 @version V5.14 8
...全文
246 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tottyandbaty 2012-07-20
  • 打赏
  • 举报
回复


$rs = $DB->Execute("select * from table where key=123");
while ($array = $rs->FetchRow()) {
print_r($array);
}
沈逸 2012-07-20
  • 打赏
  • 举报
回复
再顶 在线等
网上很多列子都抄抄的
找了半天都是同样的代码 连错误的地方都一样

哎。。
码无边 2012-07-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

一直很少使用 adodb 类,浏览了一下互联网,没有看到类似的 bug 报告
只能是自己分析一下了
1、按你的 dsn 写法,你采用的是 odbc 方式。可尝试用 mssql 方式做一下
2、odbc 方式下的 sql server 2005 需安装名为 sql server 2005扩展 的补丁
3、自 php5.3 以来,微软一直是不合作态度。所以使用 mssql 时 php 版本宜……
[/Quote]老大起的真早啊!早起的鸟儿,有虫吃……
蹲坑看月亮 2012-07-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

一直很少使用 adodb 类,浏览了一下互联网,没有看到类似的 bug 报告
只能是自己分析一下了
1、按你的 dsn 写法,你采用的是 odbc 方式。可尝试用 mssql 方式做一下
2、odbc 方式下的 sql server 2005 需安装名为 sql server 2005扩展 的补丁
3、自 php5.3 以来,微软一直是不合作态度。所以使用 mssql 时 php 版本宜……
[/Quote]
学习了~~
xuzuning 2012-07-20
  • 打赏
  • 举报
回复
一直很少使用 adodb 类,浏览了一下互联网,没有看到类似的 bug 报告
只能是自己分析一下了
1、按你的 dsn 写法,你采用的是 odbc 方式。可尝试用 mssql 方式做一下
2、odbc 方式下的 sql server 2005 需安装名为 sql server 2005扩展 的补丁
3、自 php5.3 以来,微软一直是不合作态度。所以使用 mssql 时 php 版本宜在 5.3 一下
这样虽然会丢失 sql server 2005 新增的功能,但可保证正常运行
黄袍披身 2012-07-20
  • 打赏
  • 举报
回复
不清楚,夜深人静你先睡觉。明天让老徐给你瞧瞧。。。
Mssql 屌丝用不起呀
沈逸 2012-07-20
  • 打赏
  • 举报
回复
100分都没人回吗

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧