2 回答
TA贡献1811条经验 获得超4个赞
看来您的$pdo变量未初始化。在您上传的代码中,我看不到它的初始化位置。
确保global scope在调用类方法之前在中创建了一个新的PDO对象。(由于应在Category类中实现方法,因此应在全局范围内声明它)。
$pdo = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
TA贡献1853条经验 获得超18个赞
您可以尝试/捕获PDOException(您的配置可能有所不同,但重要的部分是尝试/捕获):
try {
$dbh = new PDO(
DB_TYPE . ':host=' . DB_HOST . ';dbname=' . DB_NAME . ';charset=' . DB_CHARSET,
DB_USER,
DB_PASS,
[
PDO::ATTR_PERSISTENT => true,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES ' . DB_CHARSET . ' COLLATE ' . DB_COLLATE
]
);
} catch ( PDOException $e ) {
echo 'ERROR!';
print_r( $e );
}
该print_r( $e );行将向您显示所需的一切,例如,我最近遇到了错误消息如的情况unknown database 'my_db'。
- 2 回答
- 0 关注
- 961 浏览
添加回答
举报