我有PDO的问题,我看不到他来的地方.我无法质疑我的MySQL数据库.只是为了测试我使用了以下代码(以前配置的连接参数非常糟糕:
try {
$dbh= new PDO('MysqL:host=serverName;dbname=Mydatabase','user','password');
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (Exception $e) {
die('Erreur : ' . $e->getMessage());
}
var_dump($dbh); // gives : object(PDO)#1 (0) { }
$res=$dbh->query('SELECT * FROM table');
Fatal error: Uncaught exception ‘PDOException’ with message ‘sqlSTATE[3D000]: Invalid catalog name: 1046 No database selected’ in /home/outout/public_html/file.PHP:16 Stack trace: #0 /home/outout/public_html/file.PHP(16): PDO->query(‘select * from t…’) #1 {main} thrown in /home/outout/public_html/file.PHP on line 16.
该代码适用于本地计算机,但只要我将其置于联机状态(cPanel),它就会向我显示此错误.我是否必须在.htaccess中配置PDO?
我绝对不明白问题出在哪里.有人会有想法吗?
解决方法:
帮助MysqL解析句柄.
代替:
$res=$dbh->query('SELECT * FROM table');
尝试:
$res=$dbh->query('SELECT * FROM Mydatabase.table');