Mssql выборочный массив показывает ошибку в цикле while - PullRequest
0 голосов
/ 24 апреля 2019

Я пишу запрос для получения некоторого результата на сервере mssql, который работает, но теперь они некоторые ошибки, ошибка

Предупреждение: mssql_fetch_array (): 3 не является допустимым ресурсом MS SQL-результата в

мой запрос на подключение работает, и нет проблем, мой запрос похож на этот

$qry="select cd_pcp,pcp_nm from tbl_m_pcp order by cd_pcp asc";
$result=mssql_query($qry);
while($row1=mssql_fetch_array($result))
{
echo $row1['cd_pcp'];
}

var_dump $ result show

ресурс (3) типа (результат mssql)

запрос выполняется в sql-сервере. Почему эта ошибка типа может решить эту проблему, пожалуйста, помогите мне?

Ответы [ 2 ]

0 голосов
/ 24 апреля 2019

Я полагаю, что var_dump всегда будет возвращать «результат mssql» независимо от того, успешен он или нет. Выполнить тест отладки, если значение возвращается FALSE

$result = mssql_query($qry,$conn);
if(!$result)  {
   die('MSSQL error: ' . mssql_get_last_message());
}
0 голосов
/ 24 апреля 2019

Одним из возможных объяснений является возвращаемое значение из mssql_query () :

Возвращаемые значения

Возвращает ресурс результата MS SQL в случае успеха, ИСТИНА, если строк не было возвращается или FALSE при ошибке.

Важно проверить результат из mssql_query():

<?php
...
$qry = "select cd_pcp,pcp_nm from tbl_m_pcp order by cd_pcp asc";
$result = mssql_query($qry);
if ($result === true) {
    echo "No rows are selected";
} else if ($result === false) {
    echo "Error. ".mssql_get_last_message();
    exit;
} else {
    while ($row1 = mssql_fetch_array($result)) {
        echo $row1['cd_pcp'];
    }
}
...
?>

Примечания:

Расширение MSSQL удалено в PHP 7.0. Хорошим вариантом является PHP-драйвер для SQL Server .

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