"mysqli_stmt::get_result()" 메서드 호출이 정의되지 않은 문제
"mysqli_stmt"에서 "get_result()" 메서드를 사용하려고 하는 중 개체에서 쿼리 결과를 얻으면 "정의되지 않은 메서드 호출"이 나타납니다. mysqli_stmt::get_result()" 오류.
문제 원인:
오류는 "mysqli_stmt" 개체에 "get_result()" 메서드를 사용할 수 없음을 나타냅니다. 이는 "mysqlnd" 드라이버가 없기 때문에 발생할 수 있습니다.
해결책:
mysqlnd 드라이버 설치:
이 드라이버는 " get_result"를 사용하는 데 유용합니다. ()" 방법이 중요합니다. 귀하의 웹 공간에 설치되어 있는지 확인하시기 바랍니다.
bind_result() 및 fetch() 사용:
"mysqlnd" 드라이버를 설치할 수 없는 경우 "bind_result()를 사용할 수 있습니다. ” 및 “fetch()” 메소드를 사용하여 쿼리 결과를 얻습니다. 이러한 방법은 "mysqlnd" 드라이버의 영향을 받지 않습니다. 샘플 코드는 다음과 같습니다.
$stmt->bind_result($emailVerified, $blocked); $stmt->fetch();
mysqli_stmt->execute()를 확인하세요. 반환 값:
"mysqli_stmt->execute()" 메서드가 성공적으로 실행되었는지 확인하세요. "false"를 반환하면 "stmt" 개체에 대한 결과가 설정되지 않습니다.
예:
다음은 문제를 해결한 수정된 코드입니다.
include 'conn.php'; $conn = new Connection(); $query = 'SELECT EmailVerified, Blocked FROM users WHERE Email = ? AND SLA = ? AND `Password` = ?'; $stmt = $conn->mysqli->prepare($query); $stmt->bind_param('sss', $_POST['EmailID'], $_POST['SLA'], $_POST['Password']); if ($stmt->execute()) { $stmt->bind_result($emailVerified, $blocked); $stmt->fetch(); // Use $emailVerified and $blocked here... } else { echo "Error executing statement: " . $stmt->error; }
위 내용은 '정의되지 않은 메서드 mysqli_stmt::get_result() 호출' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!