Joomla! を使用して、ローカル サーバーに Web サイトを作成しています。3.0.3。外部データベースをこの Web サイトに正常に接続し、クエリを実行できます (私の前の質問を参照してください: WHERE ステートメントが 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
}
?>
ブラウザは次の 2 つのエラーを返します。
- 解析エラー: 構文エラー、予期しない ';' in C:\wamp\www\plugins\system\sourcerer\helper.php(450) : 46 行目のランタイム作成関数
- 致命的なエラー: 関数名は C:\wamp\www\plugins\system\sourcerer\helper.php の 454 行目の文字列でなければなりません
何か提案はありますか?よろしくお願いします。
興味のある方のために機能する更新されたコードを次に示します。
<?php
$values=array('3', '"GBP"', '"Pound Sterling"');
$query->insert($db->quoteName('currency'));
$query->columns($db->quoteName($columns));
$query->values(implode(',', $values)**)**;
?>