problème de syntaxe (je pense)

Eléphanteau du PHP | 12 Messages

30 mars 2014, 14:10

Bonjour,

je veux me connecter à deux bases distinctes en même temps

Code de connexion
  //connection à la base générale
$gene =mysql_connect("localhost", "root", "") or die("Pas de connexion en local : " . mysql_error());
$db=mysql_select_db('base',$gene);

  //connection à la base collections des membres
$collec = mysql_connect("localhost", "root", "") or die("Pas de connexion base collec local: " . mysql_error());
$base=mysql_select_db('base_collec',$collec);

Code de sélection
$sql = 'SELECT count(*) FROM nb_online_2 WHERE ip= "'.$_SERVER['REMOTE_ADDR'].'"';
$req = mysql_query($sql,$gene) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

Et c'est là ou ça coince
J'ai une superbe erreur qui me dit
SELECT count(*) FROM nb_online_2 WHERE ip= "127.0.0.1"
Table 'base_collec.nb_online_2' doesn't exist

et pour cause puisque la table "nb_online_2" se trouve dans la base "$gene"

Merci d'avance pour vos conseils

ViPHP
xTG
ViPHP | 7331 Messages

30 mars 2014, 15:24

Cela vient peut être du fait que tu utilises en fait le même serveur.
Il doit faire le raccourci et réutilises le même lien.
Il va falloir faire un mysql_select_db avant chaque requête, et n'utiliser qu'un seul mysql_connect.

Mammouth du PHP | 571 Messages

30 mars 2014, 15:26

soit tu peux préfixer le nom de la table par le nom de sa BD:
$sql = 'SELECT count(*) FROM base.nb_online_2 as tbl WHERE tbl.ip= "'.$_SERVER['REMOTE_ADDR'].'"';