Just a quick note, sometimes you need to access the magento database from a script, but don’t want the overhead of loading the whole magento framework….. Here’s a little snippet of code that grabs the database details from the magento xml config, so you don’t have to store them in your script:
<?php class db { private $data = null; public function __construct(){ $xml=simplexml_load_file(realpath(dirname(__FILE__))."/../../app/etc/local.xml"); $host = (string) $xml->global->resources->default_setup->connection->host; $db = (string) $xml->global->resources->default_setup->connection->dbname; $user =(string) $xml->global->resources->default_setup->connection->username; $pass = (string) $xml->global->resources->default_setup->connection->password; $charset = 'utf8mb4'; $dsn = "mysql:host=$host;dbname=$db;charset=$charset"; $opt = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ]; $this->data = new PDO($dsn, $user, $pass, $opt); } public function query($sql){ return $this->data->query($sql)->fetchAll(PDO::FETCH_ASSOC); } } ?>
Save it somewhere like /magento_root/scripts/include/db.php and use it like this:
<?php require "include/db.php" $db = new db(); $results = $db->query('select * from cataloginventory_stock_item'); ?>