mssql_fetch_array не показывает все результаты - где проблема - PullRequest
0 голосов
/ 13 июня 2019

Я присоединюсь к теме - у меня 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.
            )

    )

где ошибка и как ее обойти.

1 Ответ

0 голосов
/ 13 июня 2019
$params = array();
$options =  array( "Scrollable" => SQLSRV_CURSOR_KEYSET );

$row_count = sqlsrv_num_rows( $stmt );

работает - THX;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...