PHP - невозможно установить переменную сеанса в качестве значения статической ошибки класса - PullRequest
0 голосов
/ 05 июля 2018

Как я могу установить $dbname для изменения при изменении значения сеанса в этом классе? я всегда получаю ошибку, что бы я ни пытался.

class db_config
{

    // default connection
    public static $dbname = $_SESSION['db_to_use']; // Your database name
    public static $dbuser = 'root'; // Your database username
    public static $dbpass = 'xxxxxxx'; // // Your database password
    public static $dbhost = 'localhost';
....

}

заранее спасибо

1 Ответ

0 голосов
/ 05 июля 2018

Вы можете использовать что-то вроде этого:

<?php
session_start();
$_SESSION['db_to_use'] = 'mydatabase';

class db_config
{

    // default connection
    public static $dbname = '';
    public static $dbuser = 'root'; // Your database username
    public static $dbpass = 'xxxxxxx'; // // Your database password
    public static $dbhost = 'localhost';

    public function __construct()
    {
        $this->setDbName();
    }

    public function setDbName()
    {
        if(isset($_SESSION['db_to_use']) && !empty($_SESSION['db_to_use'])) {
            self::$dbname = $_SESSION['db_to_use']; // Your database name
        } else {
            return false;
        }
    }
}

$con = new db_config();
echo 'db_name : ' . $con::$dbname;
...