我正在使用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();
我已经看到这个错误是重复的,但没有一个解决方案适用。 我检查了my.cnf,我确定我正在使用mysql db所在的端口。 我也确定数据库名称,登录名和密码是正确的,因为我正在使用它们来访问带有shell的数据库。
可能是什么问题?
答案 0 :(得分:5)
您不需要指定端口,因为3306是mysql的默认端口,但是如果这样做,则正确的连接字符串是
'mysql:host=localhost;port=3306 ...'