无法在Joomla中修改外部数据库! 3.0.3。使用php请求

时间:2013-04-09 08:50:57

标签: php mysql joomla joomla-extensions

我一直在Joomla的本地服务器上创建一个网站! 3.0.3。 我已成功将外部数据库连接到此网站并可以查询它(请参阅我之前的问题:WHERE statement not working in Joomla! 3.0.3. php request)。但是当我尝试修改外部数据库中的条目时,服务器会返回错误屏幕。

这是我在Joomla后端使用的代码! (使用Sourcerer扩展)。我尝试将新货币添加到外部数据库中的MySQL“货币”表中。

<?php

/**///////// LOAD EXTERNAL DATABASE (i.e. not the Joomla one) /////////**/

$option = array();
$option['driver'] = 'mysql'; // Database driver name
$option['host'] = 'localhost'; // Database host name
$option['user'] = 'root'; // User for database authentication
$option['password'] = ''; // Password for database authentication
$option['database'] = 'externaldatabase'; // Database name
$db = JDatabase::getInstance( $option );
/**///////// CREATE NEW QUERY OBJECT /////////**/

$query = $db->getQuery(true); //OK
/**///////// SELECT RECORDS & INSERT A NEW ROW /////////**/

$columns=array('ID', 'CurrencyCode', 'FullName');
$values=array('3', 'GBP', 'Pound Sterling');
$query->insert($db->quoteName('currency'));
$query->columns($db->quoteName($columns));
$query->values(implode(',', $values);

/**///////// RESET QUERY /////////**/

$db->setQuery($query); //OK

try {
    $result = $db->execute();
} catch (Exception $e) {
    // catch
}
?>

浏览器返回以下两个错误:

  • 解析错误:语法错误,意外';'在C:\ wamp \ www \ plugins \ system \ sourcerer \ helper.php(450):第46行的运行时创建函数
  • 致命错误:第454行的C:\ wamp \ www \ plugins \ system \ sourcerer \ helper.php中的函数名必须是字符串

你有什么建议吗?在此先感谢您的帮助。


这是更新的代码,适用于您感兴趣的人!

<?php
$values=array('3', '"GBP"', '"Pound Sterling"');
$query->insert($db->quoteName('currency'));
$query->columns($db->quoteName($columns));
$query->values(implode(',', $values)**)**;
?>

1 个答案:

答案 0 :(得分:3)

你忘记了一个右括号:

$query->values(implode(',', $values);
//                        Here ----^

所以一定是: $query->values(implode(',', $values));