Bu komut bir eklenti vs ben onunla DB bağlantılarını yapmak gerekir gibi joomla üzerinden erişilebilir olacak değil çünkü Im şu anda, joomla veritabanı üzerinden değerlerini kullanarak bazı hesaplamalar yapmak için bir cronjob olarak çalışacak bir komut dosyası yazıyorum.
Im ne yapmaya çalışıyorsunuz güvenlik ve aynı zamanda taşınabilirlik amaçlı (Connection, sorgular, vb) tüm işi yapmak için Joomla çerçevesini kullanmak (yerine bu komut oturum açma kimlik bilgileri başka bir dizi olan onun tüm Joomla config ele)
Ben geleni yaptık ama komut dosyası çalıştırdığınızda ben aşağıdaki hatayı alıyorum:
Database Error: Unable to connect to the database:Could not connect to MySQL
Ben değişken baskılı ve mysql için bağlantı bilgilerini (bunların) doğru olduğundan emin yaptık.
Benim geçerli kod:
<?php
//init Joomla Framework
define( '_JEXEC', 1 );
define( 'JPATH_BASE', realpath(dirname(__FILE__).'/..' ));
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
require_once( JPATH_CONFIGURATION .DS.'configuration.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'database.php' );
require_once ( JPATH_LIBRARIES .DS.'joomla'.DS.'import.php' );
//DB Connection
$Config = new JConfig();
$option['driver'] = $Config->dbtype; // Database driver name
$option['host'] = $Config->host; // Database host name
$option['user'] = $Config->user; // User for database authentication
$option['password'] = $Config->password; // Password for database authentication
$option['database'] = $Config->db; // Database name
$option['prefix'] = $Config->dbprefix; // Database prefix (may be empty)
$db = & JDatabase::getInstance($option);
//DBQuery
$database =& JFactory::getDBO();
$query = "SELECT * FROM #__chronoforms_RD_NonDangerousGoods WHERE cf_id = 4;";
$database->setQuery($query);
$result = $database->query();
print_r($result);
?>