집 >데이터 베이스 >MySQL 튜토리얼 >준비된 문을 사용할 때 \'치명적인 오류: 정의되지 않은 메서드 mysqli_stmt::fetch_array()\' 호출'이 발생하는 이유는 무엇입니까?
"치명적인 오류: 정의되지 않은 메소드 mysqli_stmt::fetch_array() [중복] 호출" 수정
코드에서 준비된 명령문을 사용할 때 mysqli_stmt::fetch_array()를 사용하려고 합니다. 준비된 명령문에는 이 함수를 사용할 수 없습니다.
해결책:
대신 mysqli_stmt::fetch()를 사용하여 단일 데이터 행을 검색하거나 mysqli_result를 사용해야 합니다. ::fetch_all()을 사용하여 여러 행을 검색합니다.
수정된 코드:
<code class="php">$search = "player"; $sql = $db->prepare('select job from jobs where job like ?'); $sql->bind_param('s', $search); $sql->execute(); $result = $sql->get_result(); // Get the result object $data = array(); while ($row = $result->fetch_assoc()) { $data[] = array( 'label' => $row['job'] ); echo json_encode($data); } $sql->close(); $db->close();</code>
mysqli_stmt::fetch_array() 또는 mysqli_result::fetch_assoc()을 사용하여, 오류가 발생하지 않고 데이터베이스에서 데이터를 성공적으로 검색할 수 있습니다.
위 내용은 준비된 문을 사용할 때 \'치명적인 오류: 정의되지 않은 메서드 mysqli_stmt::fetch_array()\' 호출'이 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!