<分区>
我正在为 PHP Practitioner 做 Laracasts,但无法使用 PDO PHP 函数连接到我的本地 SQL 数据库。
我已经检查了 MySQL Workbench 中数据库的所有设置。代码中的数据库名称是正确的。端口是正确的。本地主机 IP 正确。
try {
$pdo = new PDO('mysql:host 127.0.0.1:3306;dbname=Test', 'root', '');
} catch (PDOException $e) {
die('Could Not Connect');
};
我希望它能正常工作并能够从我的 SQL 数据库表中提取信息。但是,它继续抛出异常并且只给我死命令提示符。
我还确认了 MySQL 服务器正在通过 MySQL Workbench 运行。
要使此命令正确连接,需要更改什么?
对于初学者,您应该检查实际的错误。您的“无法连接”消息不能帮助您或我们诊断问题,但抛出的实际异常可以。理想情况下,您将拥有更精确的错误处理代码。不过,您至少可以在 catch
block 中使用 var_dump($e)
。
就是说,您的连接字符串 (DSN) 语法错误;您缺少 =
并且指定的端口不正确。
$pdo = new PDO('mysql:host=127.0.0.1;port=3306;dbname=Test', 'root', '');
// ^ ^ you need ;port=, not just a colon
// |
// should be =, not a space
一些其他注意事项:
- 从您的示例中无法清楚地看出您的 root 帐户是否有密码。如果是这样,那就太好了,请不要张贴在这里。如果您没有该帐户的密码,请立即设置一个。
- 无论如何,你真的不应该以 root 身份连接。设置不同的用户帐户。
- 您不需要
;
最后的
。