我从php网站得到了这个例子:
<?php
try {
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
foreach($dbh->query('SELECT * from FOO') as $row) {
print_r($row);
}
$dbh = null;
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
?>
我在mac上使用MAMP,当我调用本地站点时,它看起来像这样:
http://localhost:80/mysite/index.php
那么究竟我要写什么
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
对于host =?那会是localhost,还是localhost:80?或者完全不同的东西?我的MySQL数据库的端口号为3306.这是相关的吗?或者只是“localhost”完全没问题?
答案 0 :(得分:4)
假设MySQL在同一台机器上运行,那么现在你应该没问题。
端口80是您的Web服务器(apache)正在运行的。 MySQL将在不同的端口上运行。如果你的MySQL服务器在默认端口上运行,那么你可能不需要输入端口号,你可以正常工作。如果您安装了MySQL以在不同的端口上运行,那么您可能需要输入端口号。
此外,如果您在端口80上运行apache,则甚至不必将“:80”放在站点的URL中。由于端口80是HTTP的默认端口,因此浏览器将自动使用它。
答案 1 :(得分:3)
MySQL服务器和HTTP服务器是在您的计算机上运行的独立程序。
URL中的80端口属于HTTP服务器,而另一方面,MySQL服务器需要另一个端口,通常为3306
。