帮忙看下这段php代码怎么改?

nzperfect 2011-04-21 06:27:59
下面是一段早期php代码,由于php升级及sql server驱动升级
目前是php 5.2.14 + Sql serve 2008,所以有些用法不同了,像
$res = mssql_query($sql, $link);改为$res = sqlsrv_query($conn,$sql);

但mssql_fetch_row不知道如何改?

就这是句怎么改?
                while ($row = mssql_fetch_row($res)){
$vals[strtolower(str_replace($search, '', $row[0]))] = (empty($row[1]) ? '0' : $row[1]);
}


                #$res = mssql_query($sql, $link);
$res = sqlsrv_query($conn,$sql);

$search = array(' ', '/sec', '(KB)', '/', '-');

while ($row = mssql_fetch_row($res)){
$vals[strtolower(str_replace($search, '', $row[0]))] = (empty($row[1]) ? '0' : $row[1]);
}

$vals['buffercachehitratio'] = $vals['buffercachehitratio'] / $vals['buffercachehitratiobase'] * 100;
$vals['logcachehitratio'] = $vals['logcachehitratio'] / $vals['logcachehitratiobase'] * 100;
$vals['proccachehitratio'] = $vals['cachehitratio'] / $vals['cachehitratiobase'] * 100;
$vals['memoryhitratio'] = $vals['totalservermemory'] / $vals['targetservermemory'] * 100;

unset($vals['buffercachehitratiobase'], $vals['logcachehitratiobase'], $vals['cachehitratiobase'], $vals['cachehitratio']);

...全文
128 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
nzperfect 2011-04-21
  • 打赏
  • 举报
回复
hi hnxxwyq , ths for your help.
nzperfect 2011-04-21
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 xuzuning 的回复:]

既然你使用了微软的驱动。你就到微软去找答案
[/Quote]

xuzuning 2011-04-21
  • 打赏
  • 举报
回复
既然你使用了微软的驱动。你就到微软去找答案
nzperfect 2011-04-21
  • 打赏
  • 举报
回复
我这句改的没关题啊:
list($server_version) = mssql_fetch_row(mssql_query("SELECT SERVERPROPERTY('productversion')"));
改为:
list($server_version) = sqlsrv_fetch_array(sqlsrv_query($conn,"SELECT SERVERPROPERTY('productversion')"),SQLSRV_FETCH_NUMERIC);

可就是一直报:
sqlsrv_query() expects parameter 1 to be resource, boolean given in xxx\scripts\ss_win_mssql.php on line 54
nzperfect 2011-04-21
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 hnxxwyq 的回复:]

PHP code


while ($row = sqlsrv_fetch_array($res, SQLSRV_FETCH_NUMERIC)){
$vals[strtolower(str_replace($search, '', $row[0]))] = (empty($row[1]) ? '0' : $row[1]);
……
[/Quote]

返回:

bool(false)
lazyboy_wu 2011-04-21
  • 打赏
  • 举报
回复
mssql_query(xxx) =>sqlsrv_query(xxx)

mssql_fetch_row(xxx) => sqlsrv_fetch_array(xxx, SQLSRV_FETCH_NUMERIC)
lazyboy_wu 2011-04-21
  • 打赏
  • 举报
回复


while ($row = sqlsrv_fetch_array($res, SQLSRV_FETCH_NUMERIC)){
$vals[strtolower(str_replace($search, '', $row[0]))] = (empty($row[1]) ? '0' : $row[1]);
}

// 这里这样打呢?
var_dump($vals);exit;

nzperfect 2011-04-21
  • 打赏
  • 举报
回复
谢谢,我目前整个文件还是调试不成功,按照hnxxwyq方法改了,还有其它错误。
hnxxwyq能确定3楼和原代码同样的意思吗?

另外,这句该怎么改呢?
list($server_version) = mssql_fetch_row(mssql_query("SELECT SERVERPROPERTY('productversion')"));

谢谢
nzperfect 2011-04-21
  • 打赏
  • 举报
回复
to hnxxwyq:
谢谢,不过报错:Call to undefined function mssql_fetch_row()

这个函数mssql_fetch_row应该也变了,我没查到。
lazyboy_wu 2011-04-21
  • 打赏
  • 举报
回复
....总算是打对了


while ($row = sqlsrv_fetch_array($res, SQLSRV_FETCH_NUMERIC){

lazyboy_wu 2011-04-21
  • 打赏
  • 举报
回复
while ($row = sqlsrv_fetch_array($res, SQLSRV_FETCH_NUM)){
lazyboy_wu 2011-04-21
  • 打赏
  • 举报
回复


while ($row = mssql_fetch_row(sqlsrv_fetch_array($res, SQLSRV_FETCH_NUM))){

21,886

社区成员

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

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