Menyelesaikan ralat 'App\PDO' jenis yang tidak ditentukan: Betulkan apabila cuba mencipta profil aplikasi PHP CRUD menggunakan PDO
P粉235202573
2023-08-31 15:23:03
<p>Seluruh projek - https://github.com/steve-davey/phpsqliteconnect (fail konfigurasi sudah lapuk)</p>
<p>Ini ialah fail konfigurasi: </p>
<pre class="brush:php;toolbar:false;"><?php
Apl ruang nama;
Konfigurasi kelas {
/*** Laluan ke fail sqlite*/
const PATH_TO_SQLITE_FILE = 'db/DeviceAssetRegister.db';
}
/* Bukti kelayakan pangkalan data. Andaikan anda menjalankan pelayan MySQL dengan tetapan lalai (pengguna 'root', tiada kata laluan) */
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '');
define('DB_NAME', 'DeviceAssetRegister');
/* Cuba sambung ke pangkalan data MySQL */
cuba{
$pdo = PDO baharu("mysql:host=" . DB_SERVER . ";dbname=" . DB_NAME, DB_USERNAME, DB_PASSWORD);
// Tetapkan mod ralat PDO kepada pengecualian
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} tangkapan(PDOException $e){
die("Ralat: Tidak dapat menyambung." . $e->getMessage());
}
?></pra>
<p>Saya tidak faham mengapa tiada ralat dalam fail index.php dalam direktori di atas, tetapi terdapat ralat untuk <code>PDO</code>? </p>
<p><kod>$pdo = new PDO('sqlite:./db/DeviceAssetRegister.db');</code></p>
<p>Baiklah! Saya juga mendapat sedikit penerangan pop timbul yang memautkan kepada dokumentasi PHP dalam VSC. Jadi mengapa ralat dilaporkan dalam fail lain? Terima kasih! </p>
Cari kategori ini dalam
PDO
是来自根命名空间的一个类。除非你正确使用了根命名空间(要么通过导入PDO
,要么使用new PDO
),否则 PHP 将从当前命名空间(即App
).