3

利用した

 $member_id = 12;

 $results = db_query("select * from {customorders} where id = :fid", array(':fid' => $member_id));
 foreach($results as $result) {
       $name = $result['name'];
 }

しかし、私はエラーが発生しますFatal error: Cannot use object of type stdClass as array

解決策は何でしょうか。selectのクエリを間違って書いた場合は修正してください

「select * from customorders where id = 12」が必要で、customorders は Drupal データベースで作成したカスタム テーブルです

私を助けてください..

ありがとう

4

2 に答える 2

2

変数は、$resultオブジェクトの配列として返されます。$result->nameしたがって、の代わりに使用する必要があり$result['name']ます。

コードは次のように修正できます。

 $member_id = 12;

 $results = db_query("select * from {customorders} where id = :fid", array(':fid' => $member_id));
 foreach($results as $result) {
       $name = $result->name; // THE EDITED LINE.
 }

これがうまくいくことを願っています...ムハンマド。

于 2012-09-05T06:50:41.503 に答える
0

これは私のために働いた:

$member_id = 12;

 $results = db_query("select * from {customorders} where id = :fid", array(':fid' => $member_id))->fetchAll();
 foreach($results as $result) {
       $name = $result->name; // THE EDITED LINE.
 }

実際のデータが得られたことに注意してください。fetchAll()これがなければ、データベースオブジェクトのみを取得しました。

于 2019-08-04T08:09:20.863 に答える