Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

i cant connect to mysql

edited December 6 in Support Forums
<?php
class ConnectionManager
{
    /**
     * Cached Connection objects
     * @type Array
     */
    protected $cache = array();

    /**
     * Project connections data
     * @type Array
     */
    protected $_connectionsData;

    /**
     * Project connections data
     * @type Array
     */
    protected $_connectionsIdByName = array();


    /**
     * An array storing the correspondence between project
     * datasource tables names and connections ids
     * @type Array
     */ 
    protected $_tablesConnectionIds;


    /**
     * @constructor
     */
    function __construct()
    {
        $this->_setConnectionsData();
        $this->_setTablesConnectionIds();
    }

    /**
     * Get connection object by the table name
     * @param String tName
     * @return Connection
     */
    public function byTable( $tName )
    {
        $connId = $this->_tablesConnectionIds[ $tName ];
        if( !$connId )
            return $this->getDefault();
        return $this->byId( $connId );
    }

    /**
     * Get connection object by the connection name
     * @param String connName
     * @return Connection
     */ 
    public function byName( $connName )
    {
        $connId = $this->getIdByName( $connName );
        if( !$connId )
            return $this->getDefault();
        return $this->byId( $connId );
    }

    /**
     * Get connection id by the connection name
     * @param String connName
     * @return String
     */ 
    protected function getIdByName( $connName )
    {
        return $this->_connectionsIdByName[ $connName ];
    }

    /**
     * Get connection object by the connection id 
     * @param String connId
     * @return Connection
     */ 
    public function byId( $connId )
    {
        if( !isset( $this->cache[ $connId ] ) )
            $this->cache[ $connId ] = $this->getConnection( $connId );

        return $this->cache[ $connId ];
    }

    /**
     * Get the default db connection class
     * @return Connection
     */
    public function getDefault()
    {
        return $this->byId( ""epiz_xxxxxxxx_cour_at_sql300.epizy.com" );
    }

    /**
     * Get the users table db connection 
     * @return Connection
     */ 
    public function getForLogin()
    {
        return $this->byId( ""epiz_xxxxxxxx_cour_at_sql300.epizy.com" );
    }

    /**
     * Get the log table db connection 
     * @return Connection
     */ 
    public function getForAudit()
    {
        return $this->getDefault();
    }

    /**
     * Get the locking table db connection 
     * @return Connection
     */     
    public function getForLocking()
    {
        return $this->getDefault();
    }   

    /**
     * Get the 'ug_groups' table db connection 
     * @return Connection
     */ 
    public function getForUserGroups()
    {
        return $this->getDefault();
    }       

    /**
     * Get the saved searches table db connection 
     * @return Connection
     */ 
    public function getForSavedSearches()
    {
        return $this->getDefault();
    }

    /**
     * Get the webreports tables db connection 
     * @return Connection
     */     
    public function getForWebReports()
    {
        return $this->getDefault();
    }

    /**
     * @param String connId
     * @return Connection
     */
    protected function getConnection( $connId )
    {
        include_once getabspath("connections/Connection.php");

        $data = $this->_connectionsData[ $connId ]; 
        switch( $data["connStringType"] )
        {
            case "mysql":
                if( useMySQLiLib() )
                {
                    include_once getabspath("connections/MySQLiConnection.php");
                    return new MySQLiConnection( $data );
                }

                include_once getabspath("connections/MySQLConnection.php"); 
                return new MySQLConnection( $data );    

            case "mssql":
            case "compact":
                if( useMSSQLWinConnect() )
                {
                    include_once getabspath("connections/MSSQLWinConnection.php");
                    return new MSSQLWinConnection( $data );
                }
                if( isSqlsrvExtLoaded() )
                {
                    include_once getabspath("connections/MSSQLSrvConnection.php");  
                    return new MSSQLSrvConnection( $data );
                }

                include_once getabspath("connections/MSSQLUnixConnection.php");
                return new MSSQLUnixConnection( $data );            

            case "msaccess":
            case "odbc":
            case "odbcdsn":
            case "custom":
            case "file":
                if( stripos($data["ODBCString"], 'Provider=') !== false )
                {
                    include_once getabspath("connections/ADOConnection.php");
                    return new ADOConnection( $data );
                }

                include_once getabspath("connections/ODBCConnection.php");
                return new ODBCConnection( $data );

            case "oracle":
                include_once getabspath("connections/OracleConnection.php");
                return new OracleConnection( $data );

            case "postgre":
                include_once getabspath("connections/PostgreConnection.php");
                return new PostgreConnection( $data );

            case "db2":
                include_once getabspath("connections/DB2Connection.php");
                return new DB2Connection( $data );

            case "informix":
                include_once getabspath("connections/InformixConnection.php");
                return new InformixConnection( $data );

            case "sqlite":
                include_once getabspath("connections/SQLite3Connection.php");
                return new SQLite3Connection( $data );
        }
    }

    /**
     * Set the data representing the project's 
     * db connection properties
     */  
    protected function _setConnectionsData()
    {
        // content of this function can be modified on demo account
        // variable names $data and $connectionsData are important

        $connectionsData = array();

        $data = array();
        $data["dbType"] = 0;
        $data["connId"] = "epiz_xxxxxxxx_cour_at_sql300.epizy.com";
        $data["connName"] = "epiz_xxxxxxxx_cour at sql300.epizy.com";
        $data["connStringType"] = "mysql";
        $data["connectionString"] = "mysql;sql300.epizy.com;epiz_xxxxxxxx;cccccccc;;tracking_2000;;1"; //currently unused

        $this->_connectionsIdByName["epiz_xxxxxxxx_caxacour at sql300.epizy.com"] = "epiz_xxxxxxxx_cour_at_sql300.epizy.com";

        $data["connInfo"] = array();
        $data["ODBCUID"] = "epiz_22828477";
        $data["ODBCPWD"] = "cccccccc";
        $data["leftWrap"] = "`";
        $data["rightWrap"] = "`";

        $data["DBPath"] = "db"; //currently unused  
        $data["useServerMapPath"] = 1; //currently unused

        $data["connInfo"][0] = "sql300.epizy.com";
        $data["connInfo"][1] = "epiz_xxxxxxxx";
        $data["connInfo"][2] = "cccccccc";
        $data["connInfo"][3] = "";
        $data["connInfo"][4] = "epiz_xxxxxxxx_cour";
        $data["connInfo"][5] = ""; //currently unused
        $data["connInfo"][6] = "1"; //currently unused
        $data["ODBCString"] = "DRIVER={MySQL ODBC 3.51 Driver};Server=localhost;Uid=root;Pwd=cccccccc;Database=tracking_2018;OPTION=3";
        // encription set
        $data["EncryptInfo"] = array();
        $data["EncryptInfo"]["mode"] = 0;
        $data["EncryptInfo"]["alg"]  = 128;
        $data["EncryptInfo"]["key"]  = "";

        $connectionsData["epiz_xxxxxxxx_cour_at_sql300.epizy.com"] = $data;
        $this->_connectionsData = $connectionsData;
    }

    /**
     * Set the data representing the correspondence between 
     * the project's table names and db connections
     */  
    protected function _setTablesConnectionIds()
    {
        $connectionsIds = array();
        $connectionsIds["track_schema"] = "tracking_2018_at_localhost";
        $this->_tablesConnectionIds = $connectionsIds;
    }

    /**
     * Check if It's possible to add to one table's sql query 
     * an sql subquery to another table.
     * Access doesn't support subqueries from the same table as main.
     * @param String dataSourceTName1
     * @param String dataSourceTName2
     * @return Boolean
     */
    public function checkTablesSubqueriesSupport( $dataSourceTName1, $dataSourceTName2 )
    {
        $connId1 = $this->_tablesConnectionIds[ $dataSourceTName1 ];
        $connId2 = $this->_tablesConnectionIds[ $dataSourceTName2 ];

        if( $connId1 != $connId2 )
            return false;

        if( $this->_connectionsData[ $connId1 ]["dbType"] == nDATABASE_Access && $dataSourceTName1 == $dataSourceTName2 )
            return false;

        return true;    
    }

    /**
     * Close db connections
     * @destructor
     */
    function __desctruct() 
    {
        foreach( $this->cache as $connection )
        {
            $connection->close();
        }
    }
}
?>

Comments

  • First of all, I slightly changed the formatting of your post to make it easier to read the post.

    However, this code only seems to contain configuration values. The actual implementation code for the database connections seems to be in other files. The real database code is either in connections/MySQLiConnection.php or connections/MySQLConnection.php, but I can't tell which because (again) the code which decides that is in yet another file.

    So what is actually preventing you from connecting to MySQL? What do you see when you try to setup the connection? Do you get any error messages?

Sign In or Register to comment.