$SourceID = $this->source_information->SourceID;
// the following fails
if($results = $this->mysqli->query("SELECT .... R.Name = '$release_name' AND S.SourceID = $this->source_information->SourceID AND S.ReleaseID = R.ReleaseID"))
// this will works
if($results = $this->mysqli->query("SELECT .... R.Name = '$release_name' AND S.SourceID = $SourceID AND S.ReleaseID = R.ReleaseID"))
我有大量的代码与$ this-> source_information-> SourceID排序,如果其中的东西,我真的不知道要重写它,告诉我,我可以使这项工作如何。
编辑如下:
出口(的var_dump($这 - > source_information->的SourceID));
返回(字符串(2)" 18")
感谢您提出准备好的陈述。我将从现在开始使用准备好的陈述。
答案 0 :(得分:1)
Simple variable interpolation syntax,即"$this->foo"
,最多只能解析一个嵌套对象。 "$this->foo->bar"
被解释为$this->foo
加上字符串"->bar"
。这就是为什么它抱怨source_information
对象。如果要嵌入更深层次的嵌套对象,请使用complex variable interpolation syntax:
"... S.SourceID = {$this->source_information->SourceID} AND ..."