2016-06-15 8 views
0

나는 잘 수행되는 쿼리를 가지고 있지만 문제는 어떻게 든 데이터가 데이터베이스와 일치하지 않을 때 경고 메시지를 보낸다.mysql_num_rows는 데이터베이스에 아무런 데이터가 없을 때 경고 메시지를 내 보낸다.

$count = mysql_num_rows($qry); //warning here 

내가 오류를 숨기기 위해 @를 사용할 수 있지만이 좋지 프로그램은 지금까지 내가 아는 한, 그래서 내가 어떻게 출력에서 ​​경고를 숨길 수 있습니까?

경고 수 : 경고 : mysql_num_rows도()는 매개 변수 1 리소스 [11]

$count = @mysql_num_rows($qry); //No warning 

그래서이 알고 라인 [somepage.php] 주어진 부울 것으로 예상 경고를 숨기는 방법이 될 것이지만 나는 모른다. 이것 좀 도와주세요.

+1

error_reporting (~ E_WARNING); –

+0

이것은 무엇입니까 ?? –

+0

브라우저의 현재 페이지에서 경고를 숨 깁니다. –

답변

2

경고를 표시하지 말고이 문제를 해결해야한다는 사람들이 있습니다. 그들에게 귀 기울이지 마십시오. 경고는 당신에게 뭔가 잘못되었다고 말하고 있습니다. 그들을 억제하는 것은 그들의 모든 목적을 이길 수 있습니다.

또한 에 대해 mysql_ 함수가 사용되지 않는다고 알고 있다고 가정합니다. 다른 사람들은 이것을 언급했으며 절대적으로 옳습니다. mysql 확장과 관련된 여러 보안 문제가 있습니다. PHP 7로 업그레이드하려면 mysql이 완전히 제거 되었기 때문에 mysqli을 사용해야합니다.

일반적으로 무언가가 성공한 자원을 반환하고 false 실패하면 자원을 사용하기 전에 실패를 확인할 수 있습니다. 그래서 같이 : 부울 결과를 확인하는 대신

$rslt = mysql_query($query); 
if (!$rslt) 
{ 
    // handle error 
} 
else 
{ 
    $count = mysql_num_rows($rslt); 
    // ... 
} 

, 당신은 사례를 교환하고 is_resource를 사용할 수 있습니다.

+0

제안 해 주셔서 감사합니다. –

+0

mysql_ *을 전혀 사용하지 않는 것이 좋습니다. –