mssql_fetch_array 未显示所有结果 - 问题出在哪里

Posted

技术标签:

【中文标题】mssql_fetch_array 未显示所有结果 - 问题出在哪里【英文标题】:mssql_fetch_array is not showing all results - where is a problem 【发布时间】:2019-06-13 10:39:55 【问题描述】:

我将加入主题 - 我有一个 sql 查询:

SELECT a.tw_Nazwa, c.st_Stan, d.zd_Glowne , d.zd_Zdjecie, a.tw_Id, a.tw_Symbol,e.cht_IdCecha,b.tc_CenaNetto1,b.tc_CenaBrutto1
FROM tw__Towar  a
LEFT JOIN tw_CechaTw  e ON a.tw_Id = e.cht_IdTowar
LEFT JOIN tw_Cena  b ON a.tw_Id = b.tc_IdTowar
LEFT JOIN tw_Stan c ON b.tc_IdTowar=c.st_TowId
LEFT JOIN tw_ZdjecieTw  d ON d.zd_IdTowar=c.st_TowId
WHERE tw_SklepInternet = 1 AND st_MagId = 1 

这个查询应该有 261 个结果,如果它是由 Dbeaver 程序对数据库完成的,这就是它所需要的。

使用:

$getResults = sqlsrv_query($conn1, $Query);
if( $getResults === false ) 
    die( print_r( sqlsrv_errors(), true) );


while ($row = sqlsrv_fetch_array($getResults, SQLSRV_FETCH_ASSOC)) 
//blablabla
$i++;


print $i //is showing only 12 results

这是可行的,但不是解决方案:


    for($i=0;$i<=260;$i++)
    $row = sqlsrv_fetch_array($getResults, SQLSRV_FETCH_ASSOC)
    //blablabla
    $i++;
    

获取数组时出错。


    Array
    (
        [0] => Array
            (
                [0] => IMSSP
                [SQLSTATE] => IMSSP
                [1] => -22
                [code] => -22
                [2] => There are no more rows in the active result set.  Since this result set is not scrollable, no more data may be retrieved.
                [message] => There are no more rows in the active result set.  Since this result set is not scrollable, no more data may be retrieved.
            )

    )

错误在哪里以及如何解决。

【问题讨论】:

好像有空行——如何避免它继续使用while循环 使用$row_count = sqlsrv_num_rows( $getResults ); 并在for() 中使用$row_count 而不是硬编码的260 @spamfilter 如果while ($row = sqlsrv_fetch_array($getResults, SQLSRV_FETCH_ASSOC)) $i++; 返回12 行并且您期望261,请检查您是否在同一个数据库中执行您的两个语句。 with $params = array(); $options = array( "可滚动" => SQLSRV_CURSOR_KEYSET );运行良好 - 这对我来说是解决方案,好的 thx 【参考方案1】:
$params = array();
$options =  array( "Scrollable" => SQLSRV_CURSOR_KEYSET );

$row_count = sqlsrv_num_rows( $stmt );

正在工作 - THX ;)

【讨论】:

以上是关于mssql_fetch_array 未显示所有结果 - 问题出在哪里的主要内容,如果未能解决你的问题,请参考以下文章

Swift UITableView 未显示所有结果

Document.querySelector() 未显示所有元素

BigQuery 读取问题:未显示实际结果

OBIEE Answers 未显示结果

Select2 不工作,总是显示“未找到结果”

Plotly 未显示所有数据