解决未定义类型'App\PDO'错误:尝试使用PDO创建PHP CRUD应用程序配置文件的修复方法
                
                    
                         
                        
                            
                                P粉235202573
                                2023-08-31 15:23:03
                            
                                                        [PHP讨论组]
                                                     
                     
                    
                 
             
            
            
                <p>整个项目 - https://github.com/steve-davey/phpsqliteconnect(配置文件已过时)</p>
<p>这是配置文件:</p>
<pre class="brush:php;toolbar:false;"><?php
namespace App;
class Config {
   /**
    * sqlite文件的路径
    */
    const PATH_TO_SQLITE_FILE = 'db/DeviceAssetRegister.db';
}
/* 数据库凭据。假设您正在运行具有默认设置的MySQL服务器(用户'root',无密码) */
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '');
define('DB_NAME', 'DeviceAssetRegister');
 
/* 尝试连接到MySQL数据库 */
try{
    $pdo = new 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)中搜索该类。