Monday 15 December 2014

Connect to Joomla database in standalone script

  1. //init Joomla Framework 
  2.          define( '_JEXEC', 1 ); 
  3.          define( 'JPATH_BASE'realpath(dirname(__FILE__).'/../..' )); // print this out or observe errors to see which directory you should be in (this is two subfolders in) 
  4.          define( 'DS', DIRECTORY_SEPARATOR ); 
  5.   
  6.          require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' ); 
  7.          require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' ); 
  8.          require_once ( JPATH_CONFIGURATION   .DS.'configuration.php' ); 
  9.          require_once ( JPATH_LIBRARIES .DS.'joomla'.DS.'database'.DS.'database.php' ); 
  10.          require_once ( JPATH_LIBRARIES .DS.'import.php' ); 
  11.   
  12.          //DB Connection 
  13.          $Config = new JConfig(); 
  14.          $db_driver      = $Config->dbtype;   // Database driver name 
  15.          $db_host        = $Config->host;     // Database host name 
  16.          $db_user        = $Config->user;     // User for database authentication 
  17.          $db_pass        = $Config->password; // Password for database authentication 
  18.          $db_name        = $Config->db;       // Database name 
  19.          $db_prefix      = $Config->dbprefix; // Database prefix (may be empty) 
  20.   
  21.          // Database prefix (if empty then remove prefixing double underscore) 
  22.          $db_prefix      = (trim($db_prefix)=="") ? "":$db_prefix
  23.   
  24.          $db_connect = mysqli_connect($db_host,$db_user,$db_pass); 
  25.   
  26.          $content_count = 0; 
  27.   
  28.          // CONNECTED! so run a SQL query as per usual 
  29.          if (!mysqli_connect_errno()) { 
  30.                  $query='SELECT COUNT(*) as ArticleCount FROM `'.$db_prefix.'content` WHERE id='.mysqli_real_escape_string($db_connect$_GET['id']); 
  31.                  if ($result = mysqli_query($db_connect$query, MYSQLI_USE_RESULT)) { 
  32.                          while($obj = $result->fetch_object()){ 
  33.                                  $content_count = $obj->ArticleCount; 
  34.                          } 
  35.                  } 
  36.          } 
  37.          echo $content_count
  38.          mysqli_free_result( $db_connect );

No comments:

Post a Comment