>  기사  >  백엔드 개발  >  내 PDO 코드에서 '객체가 아닌 멤버 함수 prepare() 호출' 오류가 발생하는 이유는 무엇입니까?

내 PDO 코드에서 '객체가 아닌 멤버 함수 prepare() 호출' 오류가 발생하는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-14 16:04:02809검색

Why Am I Getting a

pdo - 비객체에서 prepare() 멤버 함수 호출

PDO를 사용하여 사용자 입력의 유효성을 검사하려고 하면 준비가 완료되었음을 나타내는 오류가 발생합니다. () 메서드가 객체가 아닌 대상에서 호출되고 있습니다. 이 오류는 제공된 코드의 42번째 줄에서 특히 발생합니다.

이 문제를 해결하려면 코드를 검사하여 $pdo 객체가 repetirDados() 함수 내에서 올바르게 정의되고 액세스 가능한지 확인하세요. 이 오류는 현재 범위에서 $pdo를 사용할 수 없음을 나타냅니다.

$pdo가 함수에 인수로 전달되고 있는지 아니면 전역 변수로 정의되어 있는지 확인하세요. 두 시나리오 중 어느 것도 해당되지 않으면 전역 네임스페이스 내에서 $pdo를 정의하고 함수 내에서 전역 키워드를 사용하여 이에 액세스할 수 있습니다.

global $pdo;

또는 $pdo를 인수로 전달할 수 있습니다. repetirDados() 함수를 사용하여 함수 범위 내에서 사용할 수 있는지 확인합니다.

동일 mysql_num_rows

PDO의 mysql_num_rows에 해당하는 것은 rowCount()입니다. 가장 최근 쿼리 실행의 영향을 받은 행 수를 반환합니다. 이 경우 rowCount()를 사용하여 쿼리에서 반환된 행이 있는지 확인할 수 있습니다.

if ($stmt->rowCount() == 0) {
    // No results found
} else {
    // Results found
}

위 내용은 내 PDO 코드에서 '객체가 아닌 멤버 함수 prepare() 호출' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.