Question

Je suis cet exemple à partir du site 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();
}
?>

J'utilise MAMP sur Mac, et quand je l'appelle mon site local, il ressemble à ceci:

http://localhost:80/mysite/index.php

Alors qu'est-ce exactement ce que je dois écrire dans

$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);

pour l'hôte =? serait-ce localhost, ou serait-ce localhost: 80? ou quelque chose de totalement différent? Mon MySQL DB a le numéro de port 3306. Est-ce pertinent? Ou est juste "localhost" parfaitement bien?

Était-ce utile?

La solution

Qu'est-ce que vous avez devrait maintenant être bien, en supposant que MySQL est en cours d'exécution sur la même machine.

Port 80 est ce que votre serveur web (apache) est en cours d'exécution sur. MySQL est en cours d'exécution sur un autre port. Si votre serveur MySQL est en cours d'exécution sur le port par défaut, vous n'avez probablement pas besoin de mettre le numéro de port, et ce que vous avez fonctionnera bien. Si vous avez installé MySQL pour fonctionner sur un autre port bien, alors vous auriez probablement à mettre dans le numéro de port.

En outre, si vous avez apache en cours d'exécution sur le port 80, vous ne disposez même pas de mettre le « : 80 » dans l'URL de votre site. Depuis le port 80 est le port par défaut pour HTTP, le navigateur utilisera qu'automatiquement.

Autres conseils

serveur MySQL et le serveur HTTP sont des programmes en cours d'exécution séparés sur votre machine.

Le port 80 dans l'URL du serveur HTTP appartient à tout serveur MySQL, d'autre part, prend un autre port, le plus souvent 3306.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top