sql >> Base de Datos >  >> RDS >> Mysql

¿Necesito una conexión php mysql en cada función que usa la base de datos?

Para evitar crear una nueva conexión de base de datos cada vez, podemos usar Patrón de diseño singleton -

necesitamos tener una clase de base de datos- para manejar la conexión DB-

Base de datos.clase.php

<?php
        class Database
        {
            // Store the single instance of Database
            private static $m_pInstance;

            private $db_host='localhost';
            private $db_user = 'root';
            private $db_pass = '';
            private $db_name = 'databasename';

            // Private constructor to limit object instantiation to within the class
            private function __construct() 
            {
                mysql_connect($this->db_host,$this->db_user,$this->db_pass);
                mysql_select_db($this->db_name);
            }

            // Getter method for creating/returning the single instance of this class
            public static function getInstance()
            {
                if (!self::$m_pInstance)
                {
                    self::$m_pInstance = new Database();
                }
                return self::$m_pInstance;
            }

            public function query($query)
            {
               return mysql_query($query);
            }

         }
?>

&podemos llamarlo desde otros archivos-

otro.php

<?php
       include 'singleton.php';
       $pDatabase = Database::getInstance();

       $result = $pDatabase->query('...');
?>