Domanda

ho ottenuto questo esempio dal sito 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();
}
?>

Io uso MAMP su Mac, e quando chiamo il mio sito locale sembra che questo:

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

Che cosa sono esattamente avrei dovuto scrivere in

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

per host =? Vorrei che sia localhost o quello sarebbe localhost: 80? o qualcosa di completamente diverso? La mia DB MySQL ha il numero di porta 3306. E 'questo rilevante? O è solo "localhost" perfettamente bene?

È stato utile?

Soluzione

Quello che hai ora dovrebbe andare bene, supponendo che MySQL è in esecuzione sulla stessa macchina.

La porta 80 è ciò che il vostro server web (Apache) è in esecuzione. MySQL sarà in esecuzione su una porta diversa. Se il server MySQL è in esecuzione sulla porta di default, allora probabilmente non c'è bisogno di mettere il numero di porta, e quello che hai funziona bene. Se si è installato MySQL per l'esecuzione su una porta diversa, però, allora si sarebbe probabilmente dovuto mettere il numero della porta.

Inoltre, se avete apache in esecuzione sulla porta 80, che non hanno nemmeno bisogno di mettere il "80" nell'URL per il tuo sito. Dal momento che la porta 80 è la porta predefinita per HTTP, il browser userà che automaticamente.

Altri suggerimenti

server MySQL e server HTTP sono programmi separati in esecuzione sul computer.

La porta 80 nell'URL appartiene a HTTP server mentre server MySQL, d'altra parte, prende un'altra porta, di solito 3306.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top