2016-12-05 5 views
0

こんにちは私はdbから結果を得て、配列に格納して関数に配列を返した関数を作成しました。今、この関数は、私はので、私は、ファイルを含めて格納されているページ上のすべてのデータと表示を引くしたい別のファイルにこのファイルと呼ばれる別のファイルと呼ばれるのfunctions.phpがあるのでOOPメソッドを使用して非オブジェクトを取得しよう

public function products() { 

     shopping::connection(); 
     $get = mysqli_query($this -> connection, 'Select * from products limit 5'); 
     $result[] = array(); 
     while($results = mysqli_fetch_object($get)) { 
      $result[] = $results; 
     } 
     return $result; 

    } 

:下記の機能です変数内の関数私は私がしますprint_r($製品)を行う場合は今

<?php require_once('codec/functions.php'); ?> 
<?php $products = $object -> products(); ?> 

をどうやったのかは私にデータの配列を与えるが、下に、私はそれは私にエラーを与えるこの機能

<?php echo $product -> price; ?> 

を使用してデータを取得しようとすると、

Notice: Trying to get property of non-object in C:\xampp\htdocs\Shopping\index.php on line 15 

Googleで検索しましたが、結果が見つかりませんでした。私が間違っていることを教えてください。ありがとう

+0

'print_r($ product)'です。そして、この '$ result [] = array();'は役に立たない。つまり、最初の配列要素は空の配列で、オブジェクトではありません。 –

+0

どうすればいいですか最初の要素はemppty –

+0

'$ result = array();' –

答えて

1

非オブジェクトのプロパティにアクセスしようとしています。エラーが示すとおり。

オブジェクトと配列には大きな違いがあります。

あなたはオブジェクトでもある製品の配列を持っています。

dbからデータにアクセスする場合は、結果をループする必要があります。

foreach ($products as $product) { // where $product is a single row from your query 
    echo $product->price; // here you take the price of a single product. 
} 

また、関数製品の変数$resultの初期化に問題があります。常に最初のインデックスに空の配列があります。 $result = array();を試してください。何も問題はありません。

関連する問題