未定義タイプ「App\PDO」エラーの解決: PDO を使用して PHP CRUD アプリケーション プロファイルを作成しようとするときの修正
P粉235202573
2023-08-31 15:23:03
<p>プロジェクト全体 - https://github.com/steve-davey/phpsqliteconnect (構成ファイルは古いです)</p>
<p>これは構成ファイルです: </p>
<pre class="brush:php;toolbar:false;"><?php
名前空間アプリ。
クラス構成 {
/*** sqlite ファイルへのパス*/
const PATH_TO_SQLITE_FILE = 'db/DeviceAssetRegister.db';
}
/* データベースの認証情報。 MySQL サーバーをデフォルト設定 (ユーザー 'root'、パスワードなし) で実行していると仮定します */
定義('DB_SERVER', 'ローカルホスト');
定義('DB_USERNAME', 'root');
定義('DB_PASSWORD', '');
定義('DB_NAME', 'DeviceAssetRegister');
/* MySQL データベースへの接続を試みます */
試す{
$pdo = 新しい PDO("mysql:host=" . DB_SERVER . ";dbname=" . DB_NAME, DB_USERNAME, DB_PASSWORD);
// PDO エラー モードを例外に設定します
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
die("エラー: 接続できません。" . $e->getMessage());
}
?></pre>
<p>なぜ上記のディレクトリにあるindex.phpファイルにはエラーがないのに、<code>PDO</code>にはエラーがあるのかわかりません。 </p>
<p><code>$pdo = new PDO('sqlite:./db/DeviceAssetRegister.db');</code></p>
<p>全然大丈夫です! VSC の PHP ドキュメントにリンクする小さなポップアップ説明も表示されました。では、なぜ他のファイルでエラーが報告されるのでしょうか?ありがとう! </p>
PDO
は、ルート名前空間のクラスです。ルート名前空間を正しく使用していない限り (PDO
をインポートするか、new \PDO
を使用するか)、PHP は現在の名前空間 (つまり、App
) から実行されます。このカテゴリーに関しては。