Bonjour,
Je dois effectuer une requête sur 2 bases situées sur 2 serveurs différents.
J'ai donc pratiqué ainsi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Valeurs données à titre d"'exemple
    $MDB_SV1="server1";    $MDB_US1="user1";    $MDB_PS1="pwd1";    $MDB_BN1="mdb1";
    $MDB_SV2="server2";    $MDB_US2="user2";    $MDB_PS2="pwd1";    $MDB_BN2="mdb2";
    $t1="table1";
    $t2="table2";
    $fields2="fields2";
    $value="myValue";

    $id1=mysql_connect($MDB_SV1,$MDB_US1,$MDB_PS1);
    $id2=mysql_connect($MDB_SV2,$MDB_US2,$MDB_PS2);

echo "select 1:".        mySql_select_db($MDB_BN1,$id1);
echo "select 2:".        mySql_select_db($MDB_BN2,$id2);

    $sql="SELECT *
            FROM `$MDB_BN2`.`$t2` t2, `$MDB_BN1`.`$t1` t1
            WHERE t2.$fields2='$value';";
    $result= mysql_query($sql);   
echo "result:".$result."< = > error_sql (".mysql_errno() ."): ".mysql_error();
soit le résultat
select 1:1
select 2:1
result:< = > error_sql (1142): SELECT command denied to user '$MDB_BN2'@'10.0.63.00' for table '$t1'
J'ai tenté de donner des droits via une clause GRANT.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$sql="GRANT SELECT ON `$MDB_BN1`.`$t1` TO '$MDB_BN2'@'10.0.63.00';";
(probablement mal écrite) car sans succès.


D'où mes questions :
- comment résoudre cette erreur,-
- la configuration du serveur (mutu) peut-il être en cause, ou au pire
- comment pratiquer en compulsant 2 requêtes consécutives ?