>데이터 베이스 >MySQL 튜토리얼 >PHP 및 MySQL에서 `mysqli_num_rows()`가 '부울 지정' 오류를 반환하는 이유는 무엇입니까?

PHP 및 MySQL에서 `mysqli_num_rows()`가 '부울 지정' 오류를 반환하는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-09 00:17:11209검색

Why Does `mysqli_num_rows()` Return a

PHP 및 MySQL: mysqli_result로 mysqli_num_rows() 매개변수 오류 해결

데이터 검증을 위해 HTML Purifier를 PHP에 통합할 때 다음 사항을 확인하는 것이 중요합니다. "mysqli_num_rows()는 매개변수를 기대합니다"와 같은 일반적인 오류를 피하기 위해 적절한 매개변수 전달 1은 mysqli_result, boolean으로 지정됩니다."

오류 이해

일반적으로 이 오류는 mysqli_num_rows() 함수가 잘못된 인수로 호출될 때 발생합니다. 유효한 mysqli_result 객체를 첫 번째 매개변수로 기대합니다. 제공된 코드 조각에서 첫 번째 매개변수는 $dbc이며 이는 MySQL 쿼리의 유효한 결과 집합이어야 합니다.

가능한 원인

잘못된 사용법 또는 잘못된 쿼리로 인해 mysqli_result 객체 대신 부울 값(FALSE)이 반환될 수 있습니다. 다음과 같은 경우에 발생할 수 있습니다.

  • 쿼리 구문에 오류가 있습니다.
  • mysqli_query() 함수가 제대로 실행되지 않습니다.
  • 쿼리가 빈 결과 집합을 반환합니다. .

해결 중 문제

제공된 코드에서 문제는 데이터베이스에서 데이터를 검색하는 데 사용되는 SQL 쿼리 내에 있습니다.

$dbc = mysqli_query($mysqli,"SELECT users.*, profile.*
                                 FROM users 
                                 INNER JOIN contact_info ON contact_info.user_id = users.user_id 
                                 WHERE users.user_id=3");

오류는 다음과 같은 조인이 누락되어 발생합니다. 사용자 및 contact_info와 비교한 프로필입니다. 올바른 쿼리는 다음과 같아야 합니다.

$dbc = mysqli_query($mysqli,"SELECT u.*, p.*
                                 FROM users AS u
                                 LEFT JOIN profile AS p ON u.user_id = p.user_id
                                 WHERE u.user_id=3");

쿼리를 수정하면 $dbc 변수가 유효한 mysqli_result 개체를 반환하여 mysqli_num_rows()를 효과적으로 사용할 수 있게 됩니다.

if (mysqli_num_rows($dbc) == 0) {
        //...

위 내용은 PHP 및 MySQL에서 `mysqli_num_rows()`가 '부울 지정' 오류를 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.