Esta es una visualización solo PDO, ya que la biblioteca mysql_*
está en desuso.
<?php
// Begin Vault (this is in a vault, not actually hard-coded)
$host="hostname";
$username="GuySmiley";
$password="thePassword";
$dbname="dbname";
$port="3306";
// End Vault
try {
$dbh = new PDO("mysql:host=$host;port=$port;dbname=$dbname;charset=utf8", $username, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "I am connected.<br/>";
// ... continue with your code
// PDO closes connection at end of script
} catch (PDOException $e) {
echo 'PDO Exception: ' . $e->getMessage();
exit();
}
?>
Tenga en cuenta que esta pregunta OP parece no ser sobre los números de puerto después de todo. Si está utilizando el puerto predeterminado de 3306
siempre, considere quitarlo de la uri, es decir, elimine la parte port=$port;
.
Si a menudo cambia los puertos, considere el uso del puerto anterior para mayor capacidad de mantenimiento con los cambios realizados en la variable $port
.
Algunas posibles errores devueltos desde arriba:
PDO Exception: SQLSTATE[HY000] [2002] No connection could be made because the target machine actively refused it.
PDO Exception: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: No such host is known.
En el error abajo, que son, al menos, cada vez más cerca, después de cambiar nuestra información de conexión:
PDO Exception: SQLSTATE[HY000] [1045] Access denied for user 'GuySmiley'@'localhost' (using password: YES)
Después de más cambios, nos están muy cerca ahora, pero no del todo:
PDO Exception: SQLSTATE[HY000] [1049] Unknown database 'mustard'
Del manual en PDO Connections:
¿Qué tipo de máquina es esta? Si su Linux verifica si mysqld se está ejecutando, ya sea "service mysqld status" o "/etc/init.d/mysqld status" como root. – Chris
@Chris, Se está ejecutando en un servidor de Windows, 2008. – 109221793