前提・実現したいこと
PHPからmySQLにPDOで接続しようとしているのですが以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
該当のソースコード(PHP)
$db['host'] = "●●●●●●●●●●●●●";
$db['user'] = "●●●●●●●●●●●●●";
$db['pass'] = "●●●●●●●●●●●●●";
$db['dbname'] = "●●●●●●●●●●●●●";
$userid = $_GET['userid'];
$errorMessage = "";
$dsn = "mysql: host=" . $db['host'] . "; dbname=" . $db['dbname'] . "; charset=utf8";
try{
$pdo = new PDO($dsn, $db['user'],$db['pass']);
$stmt = $pdo->prepare('SELECT * from userData WHERE id = '.$userid); $stmt->execute(); if($row = $stmt->fetch(PDO::FETCH_ASSOC)){ $username = $row['name']; }else{ $errorMessage = "該当データなし"; }
} catch (PDOException $e){
$errorMessage = $e->getMessage();
}
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
echo '<response>';
if($errorMessage) {
echo ' <errormessage>'.$errorMessage.'</errormessage>';
} else {
echo ' <userid>'.$userid.'</userid>';
echo ' <username>'.$username.'</username>';
}
echo '</response>';
試したこと
ローカルのXAMPP環境では接続できています。
サーバーはお名前.comのSD-11で、mySQL作成、phpMyAdminをインストールしDB・table等設定。
補足情報(FW/ツールのバージョンなど)
PHP ver 5.6
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。