使用PHP PDO运行"show slave status"

And*_*lis 6 php mysql pdo master-slave

我试图使用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);
}
Run Code Online (Sandbox Code Playgroud)

我也试过删除->execute()呼叫,但结果相同.有什么东西是我在这里遗失的吗?我在PDO ::查询文档中上下查找,并没有多大帮助.

dre*_*010 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);
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 啊,我看到您是在同一时间发现它的,我在系统上对其进行了测试,并得到有关特权不足的错误,因此我们发现我们也遇到了同样的问题。 (2认同)