xampp - 如何从应用程序中更改数据库源
问题描述
我正在 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
任何指示和/或解决方案都将非常感谢
解决方案
推荐阅读
- javascript - 将两个排序后的数组合二为一,并在 javaScript 中对其进行排序。但是 sort() 不起作用
- c# - 数据透视表和更改 DataTable 格式
- java - 即使我已经为其创建了 If else 语句,我的异常也不起作用
- django - 连接多个表并计算查询集中的平均值
- python-3.x - Python OOP 方法调用
- java - Spring Boot Kafka 客户端是否有“断路器”?
- jquery - 如何使用 Next 和 Typescript 检测元素何时打开/不在视图中?
- c++ - 如何正确初始化此 C++ for openCL 内核的输入/输出参数?
- nlp - SimCSE如何独立两次辍学
- javascript - 节点获取循环太慢