PDO를 사용하여 사용자 입력의 유효성을 검사하려고 하면 준비가 완료되었음을 나타내는 오류가 발생합니다. () 메서드가 객체가 아닌 대상에서 호출되고 있습니다. 이 오류는 제공된 코드의 42번째 줄에서 특히 발생합니다.
이 문제를 해결하려면 코드를 검사하여 $pdo 객체가 repetirDados() 함수 내에서 올바르게 정의되고 액세스 가능한지 확인하세요. 이 오류는 현재 범위에서 $pdo를 사용할 수 없음을 나타냅니다.
$pdo가 함수에 인수로 전달되고 있는지 아니면 전역 변수로 정의되어 있는지 확인하세요. 두 시나리오 중 어느 것도 해당되지 않으면 전역 네임스페이스 내에서 $pdo를 정의하고 함수 내에서 전역 키워드를 사용하여 이에 액세스할 수 있습니다.
global $pdo;
또는 $pdo를 인수로 전달할 수 있습니다. repetirDados() 함수를 사용하여 함수 범위 내에서 사용할 수 있는지 확인합니다.
PDO의 mysql_num_rows에 해당하는 것은 rowCount()입니다. 가장 최근 쿼리 실행의 영향을 받은 행 수를 반환합니다. 이 경우 rowCount()를 사용하여 쿼리에서 반환된 행이 있는지 확인할 수 있습니다.
if ($stmt->rowCount() == 0) { // No results found } else { // Results found }
위 내용은 내 PDO 코드에서 '객체가 아닌 멤버 함수 prepare() 호출' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!