php - 在它的子类中找不到 PHP 父数据库类
问题描述
我不断收到此错误,但我不知道为什么:
致命错误:未捕获错误:在 C:\xampp\htdocs\Login-system-oop\commands.php:2 中找不到类 'db' 堆栈跟踪:#0 C:\xampp\htdocs\Login-system-oop\index .php(9): include() #1 {main} 在第 2 行的 C:\xampp\htdocs\Login-system-oop\commands.php 中抛出
我的代码: db.php
<?php
class db {
private $server;
private $usern;
private $pass;
private $database;
protected function connect() {
$this->server = "localhost";
$this->usern = "root";
$this->pass = "";
$this->database = "logsysdboop";
$conn = new mysqli($this->server, $this->usern, $this->pass, $this->database);
return $conn;
}
}
?>
命令.php
<?php
class commands extends db {
public function display() {
$sql = "Select * from users";
$result = $this->connect()->query($sql);
while ($row = $result->fetch_assoc()) {
$data[] = $row;
}
foreach ($datas as $data) {
echo $data['user']."<br>";
}
}
}
?>
索引.php
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<?php
include 'commands.php';
$obj = new commands;
$obj->display();
?>
</body>
</html>
解决方案
正如Nigel Ren已经建议的那样,您需要使用以下方法之一在 PHP 脚本顶部导入类:
require_once __DIR__ . '/db.php';
require __DIR__ . '/db.php';
include_once __DIR__ . '/db.php';
include __DIR__ . '/db.php';
use db;
而且,一旦将其固定更改$datas
为$data
(因为$datas
似乎是一个错字并且从未定义过),就像您的commands.php
文件中的以下内容:
<?php
require __DIR__ . '/db.php';
class commands extends db {
public function display() {
$sql = "Select * from users";
$result = $this->connect()->query($sql);
while ($row = $result->fetch_assoc()) {
$data[] = $row;
}
foreach ($data as $entery) {
echo $entery['user']."<br>";
}
}
}
?>
推荐阅读
- html - 如何检查 CSS 变量值是否等于另一个值
- c# - 如何从 JSON 反序列化?
- c# - C# 通过 SSH 连接并更改文件内容
- powershell - 将两个 PSCustomObject 合并为一个 - PowerShell
- javascript - 未捕获(承诺中)类型错误:无法读取未定义的属性“goLineEnd”-codemirror 错误
- types - 将 Nano 33 BLE 设置为外围设备,数据类型有问题
- node.js - cURL 给出了正确的响应,但 nodejs 获取重定向到访问被拒绝
- javascript - 如何删除在 vue.js 中动态添加的 keydown 事件?
- docker - 在不同的主机上重新启动 docker-compose 容器
- openedge - 我们可以在 QUERY-PREPARE() 中使用多个表吗?