6

我正在尝试使用 PHP 的 PDO 实现来获取我的 MySQL 服务器的从属状态。运行fetchAll()返回一个空数组。

// DB IP, name, username, and password are fake here. I can connect.
$db = new PDO('mysql:host=192.168.0.0;dbname=production', 'username', 'password');
$result = $db->query("SHOW SLAVE STATUS");
$result->execute();

if ($result != false)
{
    $slave = $result->fetchAll(PDO::FETCH_ASSOC);
}

我也尝试删除->execute()呼叫,但结果相同。我在这里遗漏了一些完全明显的东西吗?我查看了 PDO::query 文档,并没有太大帮助。

4

2 回答 2

5

您是否有权执行查询?

尝试:

$db = new PDO('mysql:host=192.168.0.0;dbname=production', 'username', 'password');

$result = $db->query("SHOW STATUS");

if (!$result) {
    echo $db->errorInfo()[2]; // php 5.4
} else {
    foreach($result->fetchAll() as $row) {
        var_dump($row);
    }
}
于 2012-07-16T18:29:02.807 回答
1

这实际上是由于服务器上的权限问题。我错误地设置了我的复制用户,因此复制本身甚至无法正常工作。

于 2012-07-16T18:27:45.203 回答