次のコードでは、現在のユーザーがであるという出力が表示されmyuser@%
、2番目のクエリ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
ですこれはどのように発生しますか?これは、2番目のクエリで別のデータベースから選択しているためだと思います。