解决未定义类型'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
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
)中搜索该类。