0
我使用joomla 2.5.27和社區生成器2.0.2。 我使用CB級插件社區建設者 我得到錯誤我得到SQL語法錯誤
您的SQL語法錯誤;檢查 對應於你的MySQL服務器版本正確的語法使用 附近 'AND
confirmed
= 1 ANDapproved
= 1' 第1行SQL =選擇 COUNT(id
)FROM r2yze_comprofiler WHEREcb_points
手冊> ANDconfirmed
= 1和approved
= 1
如何修復這個錯誤
PHP代碼
// Calculate rank
if ($ordertype == "low") {
$_CB_database->setQuery("SELECT COUNT(`id`) FROM #__comprofiler WHERE `$fieldname` < $userfield AND `confirmed` = 1 AND `approved` = 1");
}
else {
$_CB_database->setQuery("SELECT COUNT(`id`) FROM #__comprofiler WHERE `$fieldname` > $userfield AND `confirmed` = 1 AND `approved` = 1");
}
$value = $_CB_database->loadResult() + 1;
全PHP代碼
<?php
/**
* Joomla Community Builder Rank Field Type Plugin: plug_cbrankfield
* @version $Id$
* @package plug_cbrankfield
* @subpackage cb.rankfield.php
* @author Joe Palmer
* @copyright (C) 2009 www.softforge.co.uk
* @license Limited http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU/GPL version 2
* @final 1.0
*/
/** ensure this file is being included by a parent file */
if (! (defined('_VALID_CB') || defined('_JEXEC') || defined('_VALID_MOS'))) { die('Direct Access to this location is not allowed.'); }
global $_PLUGINS;
$_PLUGINS->loadPluginGroup('user', array((int) 1));
$_PLUGINS->registerUserFieldTypes(array('rankfield' => 'CBfield_rank'));
$_PLUGINS->registerUserFieldParams();
class CBfield_rank extends CBfield_counter {
/**
* Returns a field in specified format
*
* @param moscomprofilerFields $field
* @param moscomprofilerUser $user
* @param string $output 'html', 'xml', 'json', 'php', 'csvheader', 'csv', 'rss', 'fieldslist', 'htmledit'
* @param string $reason 'profile' for user profile view, 'edit' for profile edit, 'register' for registration, 'list' for user-lists
* @param int $list_compare_types IF reason == 'search' : 0 : simple 'is' search, 1 : advanced search with modes, 2 : simple 'any' search
* @return mixed
*/
function getField(&$field, &$user, $output, $reason, $list_compare_types) {
global $_CB_framework, $ueConfig, $_CB_database;
$oReturn = null;
$fieldname = $field->params->get('fieldOrderName', 'hits');
$ordertype = $field->params->get('fieldOrderType', 'high');
$userfield = $user->$fieldname;
// Calculate rank
if ($ordertype == "low") {
$_CB_database->setQuery("SELECT COUNT(`id`) FROM #__comprofiler WHERE `$fieldname` < $userfield AND `confirmed` = 1 AND `approved` = 1");
}
else {
$_CB_database->setQuery("SELECT COUNT(`id`) FROM #__comprofiler WHERE `$fieldname` > $userfield AND `confirmed` = 1 AND `approved` = 1");
}
$value = $_CB_database->loadResult() + 1;
switch ($output) {
case 'html':
case 'rss':
$oReturn = $value;
break;
case 'htmledit':
// $oReturn = parent::getField($field, $user, $output, $reason, $list_compare_types);
$oReturn = null; //TBD for now no searches...not optimal in SQL anyway.
break;
case 'json':
case 'php':
case 'xml':
case 'csvheader':
case 'fieldslist':
case 'csv':
default:
$oReturn = $this->_formatFieldOutputIntBoolFloat($field->name, $value, $output);
break;
}
return $oReturn;
}
}//end of rank field
?>