我正在使用mysql数据库。我想用我写的脚本连接到它:
<?php
function getDatabase() {
$host = 'localhost:3306';
$db = 'freya';
$login = 'root';
$pw = 'helloitsme';
try {
return new PDO('mysql:host='.$host.';dbname='.$db.';charset=utf8', $login, $pw);
} catch (Exception $e) {
die('Erreur : '.$e->getMessage());
}
}
$db = getDatabase();
Run Code Online (Sandbox Code Playgroud)
我已经看到此错误是经常发生的,但是没有解决方案。我检查了my.cnf,并确定我使用的是mysql数据库所在的端口。我还确定数据库名称,登录名和密码正确,因为我正在使用它们通过外壳访问数据库。
可能是什么问题呢 ?
您无需指定端口,因为mysql默认为3306,但是如果这样做,则正确的连接字符串为
'mysql:host=localhost;port=3306 ...'
Run Code Online (Sandbox Code Playgroud)