我正在尝试做一些测试,我正在使用 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 相同的凭据进行连接。