집 >데이터 베이스 >MySQL 튜토리얼 >`mysqli_num_rows()`가 결과 세트 대신 부울 값을 반환하는 이유는 무엇입니까?
PHP 및 MySQL: "mysqli_num_rows()에서 매개변수 1이 mysqli_result, boolean이 주어질 것으로 예상합니다." 오류 해결
"mysqli_num_rows() 매개변수 1이 mysqli_result, boolean이 될 것으로 예상합니다. 주어진"은 mysqli_num_rows() 함수에 제공된 입력이 유효한 결과 세트가 아님을 나타냅니다. 이 오류는 입력 인수가 성공적인 쿼리 실행의 결과가 아닐 때 자주 발생합니다.
이 특정한 경우 PHP 코드의 다음 줄에서 오류가 발생합니다.
if (mysqli_num_rows($dbc) == 0) {
여기서 변수 $dbc는 mysqli_num_rows()에 대한 입력으로 사용되지만 $dbc에서 실행된 쿼리에 다음이 포함되어 있으므로 false를 반환합니다. 오류:
$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");
쿼리의 오류는 사용자와 프로필 테이블 사이에 JOIN 키워드가 없다는 것입니다.
SELECT users.*, profile.* --You do not join with profile anywhere. FROM users INNER JOIN contact_info ON contact_info.user_id = users.user_id WHERE users.user_id=3");
문제를 해결하려면 쿼리를 다음과 같이 수정해야 합니다.
$dbc = mysqli_query($mysqli,"SELECT users.*, profile.* FROM users INNER JOIN profile ON contact_info.user_id = users.user_id WHERE users.user_id=3");
쿼리를 수정하면 mysqli_num_rows() 함수가 이제 유효한 결과 세트를 수신하고 다음을 수행할 수 있습니다. 결과의 행 수가 0인지 확인합니다.
위 내용은 `mysqli_num_rows()`가 결과 세트 대신 부울 값을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!