【发布时间】:2017-01-27 21:24:48
【问题描述】:
我正在尝试使用 php PDO 从数据库中选择记录,但出现“SQLSTATE[3D000]:无效目录名称:1046 未选择数据库”错误。 我找到了一些类似的可用解决方案,但不幸的是这些都没有解决我的问题。
这是我的代码
class Database {
private $servername = "127.0.0.1";
private $username = "root";
private $password = "";
private $dbname = 'demo';
protected static $con = null;
function __construct() {
try {
self::$con = new PDO( "mysql:host = $this->servername;dbname = $this->dbname", $this->username, $this->password );
self::$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = self::$con->prepare("select * from test");
$stmt->execute();
while($row = $stmt->fetch()){
print_r($row);
}
} catch( PDOException $e ) {
echo "Connection failed: " . $e->getMessage();
die;
}
}
}
当我执行上述代码时,我收到了上述错误。 谁能告诉我,我到底错过了什么?
【问题讨论】:
-
去掉 DSN 中的空格