私はいくつかのテストを行おうとしています。MAMPを使用していて、サーバー上のSQLデータベースに接続しようとしています。私はこれまでPDOを使用したことがなく、どのエラーコードが何を意味するのかを追跡するのに苦労しています。私はこれを取得しています:
SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'hostname' (60)
私の接続機能:
function getConnection() {
$dbhost="hostname";
$dbuser="user";
$dbpass="password";
$dbname="somedb";
$dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $dbh;
}
クエリを実行しようとしている場所:
function getTypes() {
$sql = "SELECT id, name FROM type";
try {
$db = getConnection();
$stmt = $db->query($sql);
$types = $stmt->fetchAll(PDO::FETCH_OBJ);
$db = null;
echo '{"wine": ' . json_encode($types) . '}';
} catch(PDOException $e) {
echo '{"error":{"text":'. $e->getMessage() .'}}';
}
echo 'getTypes';
}
編集: mysqliと同じクレデンシャルを使用して接続できます。