1. ホーム
  2. php

[解決済み] キャッチ可能な致命的なエラーです。stdClassクラスのオブジェクトは、文字列に変換できませんでした。

2022-02-07 21:07:46

質問

問題はこの中にある。 echo $village_id. "-" .$wg_village; と返ってきます。

Catchable fatal error: オブジェクトオブクラスstdClassは、文字列に変換できませんでした。

そして70行目にそこにあるコードを投稿したところ、関数は完全に動作し、ただエラーで空白のページを返しました。

この行のどこが問題なのでしょうか?また、どのように修正すればよいのでしょうか?

EDITです。 A var_dump $village_id$wg_village :

string(5) "80784"
object(stdClass)#25 (35) {
  ["id"]=> string(5) "80784"
  ["name"]=> string(7) "NewName"
  ["x"]=> string(3) "-99"
  ["y"]=> string(3) "-14"
  ["kind_id"]=> string(1) "5"
  ["user_id"]=> string(1) "1"
  ["rs1"]=> int(36000) ["rs2"]=> int(36000)
  ["rs3"]=> int(36000) ["rs4"]=> int(36000)
  ["workers"]=> string(2) "51"
  ["troop_keep"]=> string(1) "0"
  ["time_update_rs1"]=> string(19) "2014-05-09 01:45:30"
  ["time_update_rs2"]=> string(19) "2014-05-09 01:45:30"
  ["time_update_rs3"]=> string(19) "2014-05-09 01:45:30"
  ["time_update_rs4"]=> string(19) "2014-05-09 01:45:30"
  ["nation_id"]=> string(1) "2" ["merchant_underaway"]=> string(1) "0"
  ["child_id"]=> string(0) "" ["cp"]=> string(3) "104"
  ["cpupdate_time"]=> string(19) "2014-05-08 21:49:55"
  ["krs1"]=> string(1) "1"
  ["krs2"]=> string(1) "1"
  ["krs3"]=> string(1) "1"
  ["krs4"]=> string(1) "1"
  ["faith"]=> string(1) "3"
  ["faith_time"]=> string(19) "2014-05-07 22:05:44"
  ["dateCreate_vila"]=> string(19) "2014-05-05 20:38:26"
  ["capa123"]=> int(36000)
  ["capa4"]=> int(36000)
  ["speedIncreaseRS1"]=> float(1000)
  ["speedIncreaseRS2"]=> float(600)
  ["speedIncreaseRS3"]=> float(800)
  ["speedIncreaseRS4"]=> float(1200)
  ["speedIncreaseRS4Real"]=> float(1149)
}

解決方法は?

を参照する場合 object として扱うことはできません。 string . それをダンプして、中のプロパティを参照できるかどうか試してみてください。

 var_dump($village_id);
 var_dump($wg_village);

では、ダンプができたので、これらのプロパティにアクセスしてみましょう。

 echo $village_id. "-" .$wg_village->name;

失敗する唯一の理由は、プロパティが protected または private しかし、これはデータベースの結果セットのように見えます。

プロパティを参照するには -> 演算子を使用します。直接呼び出すことはできません。 このスレッド は、その詳細を説明しています。