我正在将 MySQL 与 ExpressionEngine 2.2.1 结合使用。这个版本的 ExpressionEngine 自动带有一个查询模块,我用它来过滤和显示来自一个名为 Freeform 的模块的条目结果。我使用的是 Freeform 3.1.1 版。所有这些元素都可以很好地协同工作,并在我的本地设置上显示所需的结果。但是,当我将代码推送到生产环境时,我收到此错误:
致命错误:在第 183 行的 /var/www/vhosts/xxxxxxxxx.com/systemxxx/expressionengine/modules/query/mod.query.php 中的非对象上调用成员函数 num_rows()
这是从 mod.query.php 的第 183 行开始的这段代码(我没有编写这个 php 代码,也没有编写过 php 代码,这已经包含在我正在处理的网站中。):
183 if ($query->num_rows() == 0)
184 {
185 return $this->return_data = $this->EE->TMPL->no_results();
186 }
以下是我在 HTML 模板中使用查询模块的方式:
{exp:query sql="SELECT first_name, last_name, email, city FROM exp_freeform_entries WHERE city = 'New York'"}
<tr>
<td>{first_name}</td>
<td>{last_name}</td>
<td>{email}</td>
<td>{city}</td>
</tr>
{/exp:query}
有谁知道为什么会发生这个错误?为什么它会发生在生产而不是本地?
任何帮助将不胜感激!