>  기사  >  데이터 베이스  >  CodeIgniter에서 \"비객체 속성을 가져오려는 중\" 오류가 발생하는 이유는 무엇입니까?

CodeIgniter에서 \"비객체 속성을 가져오려는 중\" 오류가 발생하는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-24 18:40:47619검색

Why Am I Getting the

CodeIgniter의 "Trying to Get Property of Non-Object" 오류 이해

CodeIgniter를 사용하여 데이터베이스 레코드를 업데이트하려고 하면 "객체가 아닌 속성을 가져오는 중" 오류가 발생할 수 있습니다. 이 문제는 클래스의 인스턴스가 아닌 개체의 속성에 액세스하려고 할 때 발생합니다.

edit_product_view의 컨텍스트에서 $product 개체를 사용하여 양식을 채우려고 합니다. 선택한 제품 ID에 있습니다. 그러나 객체 표기법($product->prodname)을 사용하여 해당 속성에 액세스하고 있습니다.

문제 해결: 객체 대 배열 표기법

CodeIgniter는 검색된 데이터를 저장합니다. 객체가 아닌 배열로. 따라서 양식 필드의 값이 포함된 $product 배열의 개별 요소에 액세스하려면 배열 표기법을 사용해야 합니다.

다음 줄을

<code class="php"><?php echo form_input('prodname', set_value('prodname', $product->prodname)); ?>
<?php echo form_dropdown('ptname_fk', $product_types, set_value('ptname_fk', $product->ptname_fk)); ?></code>

다음으로 바꾸세요.

<code class="php"><?php echo form_input('prodname', set_value('prodname', $product['prodname'])); ?>
<?php echo form_dropdown('ptname_fk', $product_types, set_value('ptname_fk', $product['ptname_fk'])); ?></code>

추가 팁

  • $product 배열에 올바른 키-값 쌍이 포함되어 있는지 확인하세요.
  • 계속 오류가 발생하는 경우 , $product 변수를 뷰에 올바르게 전달했는지 확인하세요.
  • print_r을 사용하여 $product 배열의 내용을 검사하여 예상 데이터가 포함되어 있는지 확인하는 것을 고려해 보세요.

위 내용은 CodeIgniter에서 \"비객체 속성을 가져오려는 중\" 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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