테스트 사이트 - 개발 중인 베타 버전입니다

Warning: mysqli_fetch_object() expects parameter 1 to be ..원인과 해결책? 채택완료

에러 내용

Warning: mysqli_fetch_object() expects parameter 1 to be mysqli_result, boolean given in C:\AutoSet10\public_html\gnu54\qpass\admin_index.php on line 27  

해당 코드

</p>

<p><span style="font-size:12pt;">$sql  = "select delete_limit from qpass_config";

$result = sql_query($sql);</span></p>

<p><span style="font-size:12pt;"><strong>$row = mysqli_fetch_object($result); // 27라인</strong></span></p>

<p><span style="font-size:12pt;"><strong>

 

구글링 해봤는데도 잘 모르겠네용. ㅜ

 

PS.

에러 내용 해석이 아래 맞나요?

저 라인의 현재 결과가 boolean  인데, 

정상적인 건 매개변수가 하나여야 하며 그 매개변수는 mysqli_result 여야 한다?

에러 내용이 대략 이런 내용 맞는거죠? ㅋ 영어가 취약하다 보니..

댓글을 작성하려면 로그인이 필요합니다.

답변 6개

채택된 답변
+20 포인트

실행을 섞어서 하지 않으시는게 좋을것 같습니다.

 

그누보드의 함수인

sql_query() 로 Result를 추출했으면

fetch 처리도

 

sql_fetch_array 로 하시는게 좋습니다.

 

</p>

<pre>
$sql  = "select delete_limit from qpass_config";
$result = sql_query($sql);
$row = mysqli_fetch_object($result); // 27라인</pre>

<p>

에서 보면

 

$row를 가지고 할일이 무엇인지에 따라 Fetch 하실 내용이 명확해야겠죠

qpass_config 의 delete_limit 를 확인하시려면

그것도 단번에 가져올 단건 (1 row)라면

$row = sql_fetch($sql);

 

로 구성하시는게 더 간결할듯 싶네요

</p>

<pre>
$sql  = "select delete_limit from qpass_config";
$row = sql_fetch($sql);</pre>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

방금 플래토 님 방법으로 해보니 바로 에러가 사라지네요. 

감사합니다.

다른 분들도 좋은 의견 주셔서 감사합니다.  

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

많은 분들이 답변 주셨네요. 감사합니다.

지금 바로 하나하나 적용해 테스트해 보겠습니다. ^^

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

제가 알기로는 mysqli_fetch_object()는

여러행의 컬럼을 불러들일 때는 가능하지만 단일 컬럼을 가져오지 못하는 걸로 알고 있습니다.

그래서 발생하는 오류 같습니다.

이부분에 대한 오류를 없애시려면 fetch_object()를  사용하시던지

try{

} catch() {

}

구문을 이용하면 오류 발생을 출력하지 않을겁니다.

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

저 에러코드는 디비 커넥트 선언 없거나 받지 못했을때 나오기도 합니다 . 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

참고로 sql_fetch()는 결과행이 하나일때 사용하시면 되구요

sql_fetch_array()는 결과행이 여럿일때 사용하시면 됩니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인

전체 질문 목록