草庐IT

用于获取 Joomla 用户及其配置文件字段的 MySQL 查询

我正在Joomla2.5中创建用户配置文件插件以扩展标准用户字段。问题是我需要一种有效的方法来通过MySQL查询检索用户(以及额外的字段)。目前我能想到的最佳方法是查询#__user_profiles表并处理该数据以确定要加载的额外字段,然后生成一个查询,为每个额外的用户字段在#__user_profiles表上创建一个单独的联接。显然,这不是很有效,而且对于大量用户,查询速度非常慢。是否有更好的方法将作为另一个表中单独记录的额外用户字段合并到一个查询中?编辑:我有一个外部脚本需要获取所有用户及其扩展字段,因此我需要合并#_users和#_user_profiles表

php - Joomla 和 MySQL

Joomla上是否有关于在PHP中通过MySQL进行数据库查询的特定文档?我真正想要的是:Joomla是否实现了自己的数据库包装器,如果没有,是否建议使用指定的配置参数创建一个。Joomla是否能够参数化他们的查询以防止SQL注入(inject)。 最佳答案 是的,Joomla有自己定义的OOP来处理数据库。通常,你会处理这样的代码:$db=&JFactory::getDBO();$query="SELECT*FROM#__example_tableWHEREid=999999;";$db->setQuery($query);可以在

php - 无法获得使用 UTF-8 的编码,即使使用 <metadata> 标记?

我将一个Joomla1.5站点转换为2.5,几乎一切正常,但我遇到了字符显示问题。在现场网站上有类似“YouAgencyguysaretwisted.”的文字,它显示正常,但在转换后的站点上,同一数据库文章显示为�YouAgencyguysaretwisted.�.现在,我已验证这两个元素具有完全相同的计算样式。但感觉像是字体问题。这可能是Joomla2.5如何编码该字符的问题?编辑1评论后我去验证了数据库。我发现character_set_database旧数据库是latin1而不是utf8,所以我运行了这条语句:alterdatabasemy_databasedefaultchar

mysql - joomla 中的全文查询

如何使用joomla对象构建全文搜索查询。我一直在尝试,但它不起作用$db=JFactory::getDBO();$query=$db->getQuery(true);$query->select('*');$query->from('#__unis_subjectsASs');$query->join('','#__unisASuONs.university=u.id');$query->join('','#__unis_facultiesASfONf.id=s.faculty');$query->where('MATCH(s.subject)AGAINST("'.$query.'"

php - Joomla 中的 mysql 下一个和 orderby 中的上一个 SQL 语句

我知道转义不正确,但我正在尝试编写上一个/下一个查询以获取订单中的下一个ID和上一个ID,但我的输出与phpmyadmin的排序不匹配,它应该匹配。我只写了“下一个”,然后用相反的条件写上一个。此查询似乎为我提供了订单中下一个最高ID值编号...我需要订单索引中的下一个或上一个...有人可以帮忙吗?$db=JFactory::getDBO();$query="SELECTimage_idFROM#__jxgallery_imagesWHEREimage_id>".$currentid."'ORDERBY'".$ordering."".$direction."LIMIT1";//Exec

php - 限制 Joomla 中每个用户 ID 24 小时的提交数量

我们在joomla中有一个使用RSformpro构建的表单。有一个脚本可以将注册成员(member)的提交总数限制为5次。//Definethemaximumnumberofsubmissions.$max=5;$user=JFactory::getUser();$db=JFactory::getDbo();$query=$db->getQuery(true);//Setupthequery.$query->select('COUNT('.$db->qn('UserId').')')->from($db->qn('#__rsform_submissions'))->where($db-

php - 带有 4 个参数的 Joomla 逻辑 PHP 查询

逻辑查询你好,我们有两个逻辑a)联系客户的最大次数:标记联系客户的次数限制。我们将供应商联系客户的最大次数设置为2次。有了这个php代码$max=2;$listing=JRequest::getInt('listing');if($listing){$db=JFactory::getDBO();$db->setQuery("SELECTCOUNT(`SubmissionId`)FROM#__rsform_submission_valuesWHERE`FormId`='".(int)$formId."'AND`FieldName`='listing'AND`FieldValue`='".

mysql - 为多个 Joomla! 统一 K2 组件的数据源托管在同一服务器上的网站

我负责我组织的几个网站。我使用Joomla!2.5.9对于那些网站。它们都在同一台服务器上运行。我使用K2组件进行内容管理。我有一个通用网站,其中在“员工”页面显示所有员工信息。还有一些人和他们的内容显示在另一个部门的网站上。因此,每个网站都有数据库。例如:在通用网站(比方说general.org)中,当我单击“员工”菜单项时,页面会显示在我的组织工作的所有人员。他们也在不同的部门工作。在另一个网站(例如:education.general.org)中,当我单击“员工”菜单项时,它会显示在教育部门工作的人员。但是对于每个网站,我都有不同的用户帐户,这意味着对其中一个的修改不会影响另一个

php - 在 Joomla 中构建查询的不同方式?

刚开始,这应该是一个简单的,但我一直没能找到好的来源,尤其是从1.5到1.6/1.7/2.5的转换。构建组件和其他问题不断遇到语法问题。例如,这是我构建查询的一种方式:[类型1]$query->SELECT('u.idasUserID,u.nameASName,uppi.profile_valueASHair,uppi2.profile_valueASHeight');$query->FROM('#__usersASu');$query->LEFTJOIN('#__user_profilesASuppiONu.id=uppi.user_idANDuppi.ordering=1');$q

mysql - Joomla jos_session 表崩溃

我最近遇到以下错误DBfunctionfailedwitherrornumber145'TABLE\jos_session'ismarkedascrashedandshouldberepairedSQL=SELECTsession_idFROMjos_sessionWHEREsession_id....这伴随着我的网站崩溃。我通过截断表格来修复它truncatetablejos_session也可以通过修表来解决repairtablejos_session我的问题是,我们如何才能防止此表从一开始就崩溃。 最佳答案 发生这种情况的原因