在下面的代码中,我得到的输出告诉我当前用户是myuser@%
,然后第二个查询会给我一个错误,说myuser@localhost
被拒绝 INSERT 权限。
$query = "SELECT CURRENT_USER();"
$result = mysql_query($query);
if(mysql_num_rows($result))
{
$data = mysql_fetch_assoc($result);
echo(" current user - ". $data['CURRENT_USER()'] . "\n"); //current user - myuser@%
}
$query = "INSERT INTO DIFF_DATABASE.HISTORY (DATA) VALUES (\"" . $data. "\")";
if(mysql_query($query) == false)
{
echo(mysql_error()); // INSERT command denied to user 'myuser'@'localhost' for table 'HISTORY'
}
看起来 MySQL 用户从 切换myuser@%
到 是myuser@localhost
怎么发生的?我猜这是因为我在第二个查询中从不同的数据库中进行选择。