sqlsrv_fetch_array什么都不返回时隐藏错误

时间:2014-06-18 09:07:32

标签: php sql sql-server database

我从db读取记录。但是当我的查询失败时,我有错误exmp:未定义的变量。我知道这是正常的因为查询无法在db中找到任何内容。如何隐藏错误?我试着这个:

$result = sqlsrv_query($conn, "MY SQL QUERY WHERE status='running'))");

if ($result === false) {
    $note = 'unknown';
    $code = 'unknown';


    } else { 

    while($row = sqlsrv_fetch_array($result))
  {

    $note = $row['note'];
    $code = $row['code'];   
  }

}
echo $note;
echo $code;

逻辑应该是好的吗?

1 个答案:

答案 0 :(得分:0)

如果没有结果,那么$result不是假的,但没有行。您可以通过将$note$code变量设置为默认值来完成此操作:

$result = sqlsrv_query($conn, "MY SQL QUERY WHERE status='running'))");

$note = 'unknown';
$code = 'unknown';
if ($result !== false) {
    while($row = sqlsrv_fetch_array($result))
    {
        $note = $row['note'];
        $code = $row['code'];   
    }
}
echo $note;
echo $code;