2

我从 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);

对于主机=?那是本地主机,还是本地主机:80?还是完全不同的东西?我的 MySQL 数据库的端口号是 3306。这有关系吗?还是只是“本地主机”完全没问题?

4

2 回答 2

4

假设 MySQL 在同一台机器上运行,您现在拥有的应该没问题。

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

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

于 2009-12-22T12:41:09.973 回答
3

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

URL 中的 80 端口属于 HTTP 服务器,而 MySQL 服务器则使用另一个端口,通常是3306.

于 2009-12-22T12:40:49.073 回答