Pas en mesure de se connecter au serveur MySQL en utilisant PDO
J'ai un script PHP que j'utilise pour se connecter à une base de données MySQL. Connexion par mysql_connect fonctionne parfaitement, mais lorsque j'essaie avec PDO j'obtiens l'erreur suivante:
SQLSTATE[HY000] [2005] Unknown MySQL server host 'hostname' (3)
le code que j'ai utiliser pour vous connecter ci-dessous:
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
$hostname_localhost ="hostname";
$database_localhost ="dbname";
$username_localhost ="user";
$password_localhost ="pass";
$user = $_GET['user'];
$pass = $_GET['pass'];
try{
$dbh = new PDO("mysql:host=$hostname_localhost;dbname=$database_localhost",$username_localhost,$password_localhost);
echo 'Connected to DB';
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $dbh->prepare("SELECT check_user_company(:user,:pass)");
$stmt = $dbh->bindParam(':user',$user,PDO::PARAM_STR, 16);
$stmt = $dbh->bindParam(':pass',$pass,PDO::PARAM_STR, 32);
$stmt->execute();
$result = $stmt->fetchAll();
foreach($result as $row)
{
echo $row['company_id'].'<br />';
}
$dbh = null;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
Merci d'avance
L'erreur est assez évident... le nom d'hôte spécifié ne peut pas être résolu en adresse IP.
Où il est dit "nom d'hôte" vous êtes censé remplir serveur mySQL, le nom d'hôte ou adresse IP.
J'ai oublié de le mentionner, je suis en utilisant des adresses IP (et que l'adresse IP est également dans l'erreur), mais j'ai changé les valeurs d'usage pour des raisons de sécurité
Votre adresse IP est incorrecte, ou il n'y a pas de serveur mySql qui fonctionne là-bas que vous pouvez accéder.
J'ai résolu le problème, sur la déclaration de : $hostname_localhost j'ai aussi mis le numéro de port dans l'état, après l'ajout de:
Où il est dit "nom d'hôte" vous êtes censé remplir serveur mySQL, le nom d'hôte ou adresse IP.
J'ai oublié de le mentionner, je suis en utilisant des adresses IP (et que l'adresse IP est également dans l'erreur), mais j'ai changé les valeurs d'usage pour des raisons de sécurité
Votre adresse IP est incorrecte, ou il n'y a pas de serveur mySql qui fonctionne là-bas que vous pouvez accéder.
J'ai résolu le problème, sur la déclaration de : $hostname_localhost j'ai aussi mis le numéro de port dans l'état, après l'ajout de:
port=$port_localhost
il a travaillé
OriginalL'auteur user1337210 | 2012-05-13
Vous devez vous connecter pour publier un commentaire.
Eu le même problème. Mine solution était une autre base de données du port. J'ai écrit localhost:1234 et a obtenu cette erreur.
Fixe avec:
OriginalL'auteur Edža
Il semble assez simple, voici ce que j'utilise pour créer mes AOP connecteurs(remarqué votre dbname et l'hôte sont fait différemment de la mienne, je ne sais pas si c'est pertinent, mais la valeur d'un chèque):
AOP fonction de Création de
config.inc.php
Et alors qu'il n'a pas de sens, quand j'ai essayé de déclarer
$dsn
inline, notamment des variables au cours de lanewPDO
appel, j'ai continué à obtenir des échecs aussi. Je l'ai cassé en dehors et a utilisé le $dsn variable à le faire. Et n'ai pas eu de problème depuis.Vous vous demandez si vous êtes en hébergement mutualisé par hasard???
REMARQUE:
Si vous ne disposez pas d'une IP dédiée, et au lieu d'aller à travers un NAT, votre adresse IP ne sera pas correctement traduire de et vers votre serveur.
Qui aide?
Mise à JOUR:
Viens de penser à autre chose. Êtes-vous essayer de vous connecter à une base de données mysql qui est sur une autre IP que vous sont en cours d'exécution de vos scripts? Si oui, vous aurez probablement besoin d'activer remoteSQL l'accès à la propriété intellectuelle, vous êtes à l'appel de la base de données à partir. Assez facile à faire, mais c'est ESSENTIEL si vous n'êtes pas accès à localhost.
OriginalL'auteur MaurerPower
Que vous ne semblez pas spécifier la base de données de l'hôte dns de détails ou d'adresse IP. L'ajout qui va résoudre le problème
OriginalL'auteur sakabio