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

ホスト = ? それは localhost でしょうか、それとも localhost:80 でしょうか? それともまったく違うものですか?MySQL DB のポート番号は 3306 です。これは関係ありますか? または、「localhost」だけで問題ありませんか?

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 に答える