I am trying to get the slave status of my MySQL server using PHP's PDO implementation. Running fetchAll()
returns an empty array.
// 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);
}
I have also tried removing the ->execute()
call, but it's the same result. Is there something completely obvious that I'm missing here? I've looked up and down the PDO::query documentation and it's not helping much.
Do you have permission to execute the query?
Try:
$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);
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With