> 백엔드 개발 > PHP 튜토리얼 > 내 PDO 코드에서 '비객체에 대한 멤버 함수인 prepare() 호출'이 나타나는 이유는 무엇입니까?

내 PDO 코드에서 '비객체에 대한 멤버 함수인 prepare() 호출'이 나타나는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-11-19 19:36:03
원래의
760명이 탐색했습니다.

Why Am I Getting

비객체에 대한 멤버 함수 준비에 대한 PDO 호출: 원인과 해결 방법

PDO 개체의 경우 "객체가 아닌 멤버 함수 prepare() 호출" 오류가 발생할 수 있습니다. 이 오류는 문제를 일으키는 함수 내에서 $pdo 객체가 제대로 초기화되지 않았음을 나타냅니다.

제공된 코드 조각에서 repetirDados() 함수는 $pdo 객체를 선언하지 않거나 매개변수로 전달하지 않습니다. . 이 오류를 해결하려면 다음 중 하나를 수행할 수 있습니다.

  • PDO 객체를 매개변수로 전달합니다.
    $pdo 객체를 인수로 포함하도록 함수 정의를 수정합니다. 호출 시 함수에 전달됩니다.
  • PDO 객체를 전역적으로 선언: (권장하지 않음)
    전역 네임스페이스에서 $pdo 객체를 선언하고 액세스 가능하게 만들 수 있습니다. 전역 $pdo를 추가하여 함수에; 함수 시작 부분에. 그러나 이 접근 방식은 다른 코드가 동일한 전역 변수에 액세스하는 경우 충돌이 발생할 수 있으므로 선호되지 않습니다.

MySQL 함수와 동일한 PDO

또한 MySQL 함수 mysql_num_rows에 해당하는 PDO에 대해서도 문의하셨습니다. PDO는 동일한 목적을 수행하는 rowCount()라는 대체 메서드를 제공합니다. 쿼리를 실행한 후 결과 집합에 영향을 받은 행의 수를 반환합니다.

코드에서 $results == 0 대신 $stmt->rowCount()를 사용하여 영향을 받은 행이 있는지 확인할 수 있습니다. 쿼리로 반환되었습니다.

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿