집 >데이터 베이스 >MySQL 튜토리얼 >PHP 및 MySQL에서 `mysqli_num_rows()`가 '부울 지정' 오류를 반환하는 이유는 무엇입니까?
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)이 반환될 수 있습니다. 다음과 같은 경우에 발생할 수 있습니다.
해결 중 문제
제공된 코드에서 문제는 데이터베이스에서 데이터를 검색하는 데 사용되는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!