我正在学习MySQL / PHP,我无法弄清楚如何在我的localhost上连接到MySQL。我写了一小段代码,我将root作为我的用户名,root作为我的密码,因为我还没有设置这些元素(据我所知)。我觉得也许我遗漏了一些关于用户名/密码组合的内容。但是,我觉得这不应该是一个问题,因为我没有篡改默认条件。
我需要一些帮助。
我的代码如下:
<?php
try {
$db = new PDO("mysql:host=localhost;dbname=shirts4max;port=3306", "root", "root");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->exec("SET NAMES 'utf-8'");
} catch (Exception $e) {
echo "Could not connect to the database.";var_dump($e);
exit;
}
我只在网页上看到错误消息:
&#34;无法连接到数据库。&#34;
感谢阅读。请帮助我Obiwan。
答案 0 :(得分:2)
显示真实错误。除维护外,请避免使用root
。
从PDO手册页面here,为您修改
<?php
$dsn = 'mysql:dbname=shirts4max;host=localhost';
$user = 'root';
$password = 'root';
try {
$dbh = new PDO($dsn, $user, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
?>
答案 1 :(得分:0)
您是否尝试使用以下命令行进行连接:mysql -uroot -proot -hlocalhost -p3306
?如果您无法以这种方式连接,则PDO连接也不会通过。通过命令行播放连接信息可以让您轻松找到有效的方法,然后将其包含在代码中。另外,如果您没有设置用户/ pw,那么目前可能没有用户/ pw,所以您根本不需要这些参数。