【发布时间】:2012-12-15 04:13:17
【问题描述】:
我正在尝试做一些测试,我正在使用 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 相同的凭据进行连接。
【问题讨论】:
-
你能展示与 mysqli 一起使用的代码吗?
标签: php mysql pdo mysqli connection