我一直在使用 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)**)**;
?>