首页 > 解决方案 > 如何从应用程序中更改数据库源

问题描述

我正在 xammp 上开发一个应用程序,允许您添加多所学校,并且每添加一个新学校,就会添加一个新数据库。一切正常。

问题在于我的数据库配置中从数据库名称切换到另一个数据库名称。我有一个表单操作“set_source”,它触发了 setDBNAME 操作,但得到了一个未捕获的错误。

我尝试了以下代码

    class dbConfig
    {
        public $hostname = 'localhost';   //hostname for db connection
        public $username = 'root';  // username for db connection
        public $password = 'password';  //password for db conection         
        public $dbname   = 'school1'; //this must be dynamically changeable
        public $mysqli;

        function setDBNAME($id)
        {
            $sql = "SELECT `school_name`, `subdomain`, `selected`, `url` FROM board.school WHERE school_id = $id AND selected = 'True'"; 
$data = $this->mysqli->execute_query($sql); //line triggering error
       if($data) {
  return new dbConfig(localhost, root, password, $data['url']);
       } 
       else {
  return null;
       }

    }

    }

但是出现以下错误

    Fatal error: Uncaught Error: Call to a member function execute_query()
    on null in path\to\file\dbConfig.php:15 Stack trace: #0 path\to
    \file\myaccountController.php(50): dbConfig->setDBNAME('1') #1
    path\to\file\Controller11.php(29): myaccountController->set_source()
    #2 path\to\file\myaccount.php(20): Controller11->run() #3 {main}
    thrown in path\to\file\dbConfig.php on line 15

任何指示和/或解决方案都将非常感谢

标签: xamppphp-7

解决方案


推荐阅读