PHP - 无法将会话变量设置为类staticdefault值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP - 无法将会话变量设置为类staticdefault值相关的知识,希望对你有一定的参考价值。

如何在此类中更改会话值时,将$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';
....

}

提前致谢

答案

您可以使用以下内容:

<?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;

以上是关于PHP - 无法将会话变量设置为类staticdefault值的主要内容,如果未能解决你的问题,请参考以下文章

PHP - 将会话变量设置为在 30 分钟后过期 [重复]

将 PHP 数组转换为类变量

PHP:必须登录两次,直到设置会话变量

php会话变量不一致

如何在取消设置变量后修复会话未启动

单击时如何将与 <a> 链接关联的值设置为会话变量