Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP/PDO-刷新权限_Php_Mysql_Pdo_Mysqli_Mysql Error 1146 - Fatal编程技术网

PHP/PDO-刷新权限

PHP/PDO-刷新权限,php,mysql,pdo,mysqli,mysql-error-1146,Php,Mysql,Pdo,Mysqli,Mysql Error 1146,我正在使用一个脚本进行mysql服务器管理,该脚本在向mysql用户添加新权限时刷新mysql用户权限 我使用PDO类来执行查询,但是当我执行一个简单的 FLUSH PRIVILEGES; 我得到了,因为 $connection->exec('FLUSH PRIVILEGES;'); 及 SQLSTATE[42S02]:基表或视图 未找到:1146表“mysql.servers” 不存在 是否可以使用PDO类进行此类查询,还是必须使用mysql(I)?我刚刚尝试了以下代码部分: $ds

我正在使用一个脚本进行mysql服务器管理,该脚本在向mysql用户添加新权限时刷新mysql用户权限

我使用PDO类来执行查询,但是当我执行一个简单的

FLUSH PRIVILEGES;
我得到了,因为

$connection->exec('FLUSH PRIVILEGES;');

SQLSTATE[42S02]:基表或视图 未找到:1146表“mysql.servers” 不存在


是否可以使用PDO类进行此类查询,还是必须使用mysql(I)?

我刚刚尝试了以下代码部分:

$dsn = 'mysql:dbname=mysql;host=127.0.0.1';
$user = 'root';
$password = '********';
try {
    $db = new PDO($dsn, $user, $password);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $db->query('flush privileges;');
} catch (PDOException $e) {
    var_dump($e);
}
我没有得到任何像你描述的那样的错误


你确定你的MySQL服务器没有问题吗

您的错误消息显示表“
mysql.servers
”不存在。。。但是当我查看我的本地MySQL服务器时,有这样一个表——您确定您的安装/配置没有“损坏”,并且没有删除该表或类似的内容吗



顺便说一句,这似乎不是您没有的某种特权:如果您在没有所需特权的情况下尝试
刷新特权
,则会出现以下错误:“
SQLSTATE[42000]:语法错误或访问冲突:1227访问被拒绝;您需要此操作的重新加载特权

@Pascal MARTIN:谢谢,我的mysql安装确实有问题,这是用mysql\u fix\u privilege\u tables命令修复的。
$dsn = 'mysql:dbname=mysql;host=127.0.0.1';
$user = 'root';
$password = '********';
try {
    $db = new PDO($dsn, $user, $password);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $db->query('flush privileges;');
} catch (PDOException $e) {
    var_dump($e);
}