Php 更正Joomla文章中给出不同结果的SQL查询

Php 更正Joomla文章中给出不同结果的SQL查询,php,database,joomla,Php,Database,Joomla,我有几个模块,但我会特别关注其中一个。该模块运行良好,出现在两篇文章中。一篇文章可供注册用户查看,另一篇文章可供公众查看 我从这两篇文章中查询我的数据库。然而,在公共文章中,模块做了应该做的事情,但在注册文章中,它没有 在发布代码和示例之前,是否有任何明显的遗漏,我可以尝试克服这一点 编辑 以下是调试模式的结果: 工作条款: SELECT name, specialty, location FROM people WHERE name = 'larry' OR specialty = '

我有几个模块,但我会特别关注其中一个。该模块运行良好,出现在两篇文章中。一篇文章可供注册用户查看,另一篇文章可供公众查看

我从这两篇文章中查询我的数据库。然而,在公共文章中,模块做了应该做的事情,但在注册文章中,它没有

在发布代码和示例之前,是否有任何明显的遗漏,我可以尝试克服这一点

编辑

以下是调试模式的结果:

工作条款:

SELECT name, specialty, location
  FROM people
  WHERE name = 'larry' OR specialty = 'testing' OR location = 'seattle'
SELECT name, specialty, location
  FROM people
  WHERE name = '' OR specialty = '' OR location = ''
非工作物品:

SELECT name, specialty, location
  FROM people
  WHERE name = 'larry' OR specialty = 'testing' OR location = 'seattle'
SELECT name, specialty, location
  FROM people
  WHERE name = '' OR specialty = '' OR location = ''
两种情况下都应该使用相同的查询,如下所示:

SELECT name, specialty, location, description
  FROM people 
  WHERE name = '$name' OR specialty = '$specialty' OR location = '$location'
其中这些变量是POST数据,例如,
$name=cleaned_up($\u POST['name'])

因此,表单的“注册”用户版本基本上不会将数据发布到查询中,但“来宾”用户版本会

编辑2

我发现,当我删除页面左侧的模块时(我在
div
s中有两个模块并排,共享POST变量,这可能是我的问题的一部分),无法工作的表单开始正常工作

所以我构建了一个相同的模块,我想如果我把表单拉出来,把代码交给另一个模块,它就会工作,但是它给出了与上面相同的结果

非常感谢您的帮助

编辑3


我抛出了一个
var\u转储($\u POST)
位于多个位置,一次一个,这提供了预期的POST数据。所以现在我真的很困惑,因为SQL查询是正确的,并且POST数据正在到达需要它们的文件。

虽然这个问题没有具体说明,但我建议在Joomla中启用调试评测。如果启用此选项,您将能够看到模块正在执行的确切SQL查询。找到模块使用的查询,通过phpMyAdmin或MySQL Workbench运行它们,并确保获得预期结果


如果问题与SQL无关,那么您可能需要提供更具体的示例。

我找到了一个解决问题的方法。原来的奇怪问题仍然存在,但这项工作使我的网站工作,并给了我一些继续下去

我为每个访问状态(已注册和公共)创建了单独的变量文件。显然,在注册状态下,变量发生冲突,POST数据没有进入SQL查询,因此没有显示在我的结果表中


我认为这可能是Joomla的一个bug,但我想在报告之前得到其他人的反馈。但是几周前我在forum.joomla.org上发了帖子,但没有回复,所以我对那个支持网站几乎没有信心。事实上,如果这是他们的支持论坛得到的,那么我想我可能会考虑另一个CMS。

我为含糊不清的内容道歉。。。只是涉及的代码很多,如果有任何明显的错误,最好先了解一下。您的建议很有帮助,但我不完全熟悉调试模式。但是我会把结果贴在原来的帖子里-谢谢!我知道查询是有效的,因为它在来宾模式下给出了正确的结果。我也在phpMydmin中运行了它,它显示了我想要的记录。我想我的POST数据在进入查询时遇到了问题。只是查看了你的标志,但仍然有点不确定。你能再让我知道一次,你想让我怎么处理这个问题吗?