Behebung des Fehlers „Undefinierter Typ „App\PDO'': Behebung beim Versuch, ein PHP CRUD-Anwendungsprofil mithilfe von PDO zu erstellen
P粉235202573
2023-08-31 15:23:03
<p>Gesamtes Projekt – https://github.com/steve-davey/phpsqliteconnect (Konfigurationsdatei ist veraltet)</p>
<p>Dies ist die Konfigurationsdatei: </p>
<pre class="brush:php;toolbar:false;"><?php
Namespace-App;
Klassenkonfiguration {
/*** Pfad zur SQLite-Datei*/
const PATH_TO_SQLITE_FILE = 'db/DeviceAssetRegister.db';
}
/* Datenbankanmeldeinformationen. Angenommen, Sie betreiben einen MySQL-Server mit Standardeinstellungen (Benutzer „root“, kein Passwort) */
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '');
define('DB_NAME', 'DeviceAssetRegister');
/* Versuchen Sie, eine Verbindung zur MySQL-Datenbank herzustellen */
versuchen{
$pdo = new PDO("mysql:host=" . DB_SERVER . ";dbname=" . DB_NAME, DB_USERNAME, DB_PASSWORD);
// PDO-Fehlermodus auf Ausnahme setzen
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} Catch(PDOException $e){
die("Fehler: Verbindung konnte nicht hergestellt werden." . $e->getMessage());
}
?></pre>
<p>Ich verstehe nicht, warum es keinen Fehler in der Datei index.php im obigen Verzeichnis gibt, aber es gibt einen Fehler für <code>PDO</code>? </p>
<p><code>$pdo = new PDO('sqlite:./db/DeviceAssetRegister.db');</code></p>
<p>Das ist völlig in Ordnung! Ich habe sogar eine kleine Popup-Beschreibung mit einem Link zur PHP-Dokumentation in VSC erhalten. Warum werden also Fehler in anderen Dateien gemeldet? Danke! </p>
PDO
是来自根命名空间的一个类。除非你正确使用了根命名空间(要么通过导入PDO
,要么使用new \PDO
),否则 PHP 将从当前命名空间(即App
)中搜索该类。