另外希望能有人帮忙解决一下这个问题:
http://community.csdn.net/Expert/topic/3590/3590268.xml?temp=.4909326
谢谢

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/3590/3590268.xml?temp=.4909326
    因使用Mozilla,无法打开,请给出非XML连接
      

  2.   

    if($stmt = sybase_query($sql,$conn))
    {
        $rows = @sybase_num_rows($stmt);
    }$rows = intval($rows);
      

  3.   

    不好意思,我上面只是省略的数据库连接部分的代码,错误并不是出在连接部分,我已经可以查出非空集合并调用sybase_num_rows函数成功,但是空的集合调用sybase_num_rows函数就会报上面的错误.另外:http://community.csdn.net/Expert/topic/3590/3590268.xml?temp=.4909326
    我不知道怎么给出非XML连接,我只是从地址栏复制下来的,我给您标题吧.标题是:那位高手帮我解释一下在文件下载时这些http头的参数的意思?
      

  4.   

    to  polygame(polygame)
    您的代码只是用@屏蔽掉了错误信息,事实上我是想知道能否在sybase_query语句结束后就可以判断$stmt结果集是不是一个空值?从而防止执行sybase_num_rows语句.
    在您的代码中$rows = @sybase_num_rows($stmt);还是会执行到,只是把错误屏蔽掉了,得到的$rows是一个空值.
      

  5.   

    to surfchen(冲浪) 
    这个连接应该可以
    http://community.csdn.net/Expert/TopicView.asp?id=3590268
      

  6.   

    晕,你没看到 if($stmt = sybase_query($sql,$conn))啊
    没执行成功就不num_rows了这样好点吧 
    $stmt = sybase_query($sql,$conn);if($stmt)
      

  7.   

    to polygame(polygame)
    我建议你还是实际测试一下吧,
    if($stmt = sybase_query($sql,$conn)) 并不会返回false,只有当sybase_query出错的时候得到的才是fasle,但是我的sql语句是能够正常执行的,没有错误,只是得到的是一个空记录集,所以您的代码还是会执行$rows = @sybase_num_rows($stmt);这一句
      

  8.   

    $rows = intval(@sybase_num_rows($stmt));不是也返回的0吗。可能的原因是sybase的错误级别设置得太低了吧。是15还是16?呵呵,很久很久没碰过sybase了,忘记了。
      

  9.   

    呵呵,我是刚刚开始碰sybase,还有好多都不懂,只好来请教各位老大啦!
    嗯,刚才那个我搞错了,$rows = intval(@sybase_num_rows($stmt));返回的的确是0,不是空值.
    这个可以暂时解决一部分问题,
    不过我想知道是不是有某个方法可以判断的得到记录集是不是空值呢?
      

  10.   

    另外那个sybase的错误级别设置我采用的是默认安装的,都没动过
      

  11.   

    我是不大习惯采用屏蔽错误的做法来进行判断的,万一是别的错误我无法进行检查,比较麻烦.
    要是明天看看还没有什么更好的方法的话,就结贴啦!thank
      

  12.   

    因为我不单是使用sybase_num_rows这个函数,象sybase_num_fields,sybase_data_seek等函数在遇到空记录集的时候都会报错,所以不能够及时判断数据集是否为空集会造成很多不必要的困扰.
    有一种方法是通过select count(*) as row_count 来先判断数据记录数,但是每次在查询记录集前都这样使用真的很麻烦,而且影响效率.