집 >데이터 베이스 >MySQL 튜토리얼 >`mysqli_num_rows()`가 '매개변수 1이 mysqli_result, boolean이 주어질 것으로 예상합니다'를 반환하는 이유는 무엇입니까?
mysqli_num_rows()는 매개변수 1이 mysqli_result, boolean이 주어질 것으로 예상합니다.
오류 메시지 "mysqli_num_rows( )는 매개변수 1이 다음과 같을 것으로 예상합니다. 유효한 MySQL 결과 세트(mysqli_result) 대신 부울 값에 mysqli_num_rows() 함수를 사용하려고 하면 mysqli_result, boolean 주어진" 오류가 발생합니다.
제공된 코드에서 , 22행에서 오류가 발생합니다.
if (mysqli_num_rows($dbc) == 0) {
$dbc 변수는 mysqli_query() 함수를 사용하여 13번째 줄에 할당됩니다. 그러나 쿼리를 검토해 보면 오류가 있습니다.
$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");
쿼리는 "INNER JOIN"을 사용하여 "users" 및 "profile" 테이블을 조인하려고 시도하지만 "profile"과 "profile" 사이에 조인 조건이 없습니다. 다른 테이블. 결과적으로 쿼리는 false(부울 false)를 반환합니다.
오류를 해결하려면 올바른 조인 조건을 포함하도록 쿼리를 수정해야 합니다. 수정된 쿼리는 다음과 같습니다.
$dbc = mysqli_query($mysqli,"SELECT users.*, profile.* FROM users INNER JOIN profile ON users.user_id = profile.user_id WHERE users.user_id=3");
이 수정을 통해 쿼리는 유효한 MySQL 결과 세트를 반환하므로 mysqli_num_rows()가 올바르게 작동할 수 있습니다.
위 내용은 `mysqli_num_rows()`가 '매개변수 1이 mysqli_result, boolean이 주어질 것으로 예상합니다'를 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!