PDO:如果我的主机是本地主机:80,我必须在这里放什么?

时间:2009-12-22 12:38:09

标签: php mysql pdo mamp

我从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”完全没问题?

2 个答案:

答案 0 :(得分:4)

假设MySQL在同一台机器上运行,那么现在你应该没问题。

端口80是您的Web服务器(apache)正在运行的。 MySQL将在不同的端口上运行。如果你的MySQL服务器在默认端口上运行,那么你可能不需要输入端口号,你可以正常工作。如果您安装了MySQL以在不同的端口上运行,那么您可能需要输入端口号。

此外,如果您在端口80上运行apache,则甚至不必将“:80”放在站点的URL中。由于端口80是HTTP的默认端口,因此浏览器将自动使用它。

答案 1 :(得分:3)

MySQL服务器和HTTP服务器是在您的计算机上运行的独立程序。

URL中的80端口属于HTTP服务器,而另一方面,MySQL服务器需要另一个端口,通常为3306