Bonjour à tous,

j'ai deux BDD mysqlqui ne sont pas sur le même serveur, je souhaite récupérer les données d'une première BDD pour l'insérer dans le deuxième.
Voici mon code en premier:

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
21
22
23
24
25
26
27
28
29
30
31
32
<?php
 
// Create first connection to the host named locahost1.
$con1 = @mysql_connect('XX.XXX.XXX.XXX' , 'admin' , 'password');
if(!$con1) {
        echo "ERROR MySQL: Connect to Server locahost 1\n";
        exit;
}
// Create a second connection to the host named locahost2.
$con2 = @mysql_connect('localhost' , 'admin' , 'password', true);
if(!$con2) {
        echo "ERROR MySQL: Connect to Server locahost 2\n";
        exit;
}
 
echo $con1."\n";
echo $con2."\n";
// Connect to the selected MySQL database – using the connection $con1.
@mysql_select_db(‘asteriskcdrdb′, $con1);
// Connect to the selected MySQL database – using the connection $con2.
@mysql_select_db(‘facturation′, $con2);
 
// requête sql pour vider la table cdrimport
$sql = "TRUNCATE TABLE facturation.importcdr";
$req = mysql_query($sql) or die ('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
echo nl2br("Truncate importcdr OK");
 
// requête sql copie des données vers la base facturation
$sql = "INSERT INTO facturation.importcdr (calldate,clid,src,dst,duration,billsec)".
" (SELECT calldate,clid,src,dst,duration,billsec FROM asteriskcdrdb.cdr WHERE cdr.calldate LIKE '$lastmonth')";
$req = mysql_query($sql) or die ('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
echo nl2br("copie données vers base factu OK");
Et voici l'erreur que j'obtiens:

Erreur SQL !<br>INSERT INTO facturation.importcdr (calldate,clid,src,dst,duration,billsec) (SELECT calldate,clid,src,dst,duration,billsec FROM asteriskcdrdb.cdr WHERE cdr.calldate LIKE '2016-04')<br>Table 'asteriskcdrdb.cdr' doesn't exist

Je force la connexion avec mon true donc je ne comprends pas où est l'erreur. Qqn a une idée par hasard?



Merci à tous !