Newsgroup: it.comp.software.database
Titolo: Query MySQL con prefisso DB al nome campo

Quanto segue si riferisce a database MySQL.
Dovendo scrivere delle pagine web dinamiche ho configurato il server 
locale e la connessione con il database in remoto che si trova su server 
Aruba.
Ho notato che nelle query mi è consentito scrivere:
$query = "Select prova01.indice, prova01.nomi  From prova01 ";
mentre  questa sintassi non funziona con il server remoto e devo scrivere:
$query = "Select Sql250000_5.prova01.indice, Sql250000_5.prova01.nomi 
 From Sql250000_5.prova01 ";
dove Sql250000_5 è il nome del database.
(in locale funziona con entrambi i metodi).
Poiché tempo addietro mi era accaduto l'inverso, cioè in remoto la query 
non funzionava se veniva anteposto il nome del database al nome del 
campo, suppongo che sia una questione di configurazione del database.
Qual'é il comando che "istruisce" il database? Mi potete dare un link 
che spiega la cosa?
Saluti
Leonardo
 
-- 
Non sono su facebook
Se anche tu vuoi cancellarti
http://www.giardiniblog.com/come-cancellarsi-da-facebook-eliminare-account/
 


 
Sembrerebbe che il database di default per un determinato utente non sia 
impostato
O lo imposti nella stringa di connessione oppure, una volta connessi, 
basta usare il comando:
  use <database>
 


Ti ringrazio della risposta. Fino a non molto tempo fa usavo access ed i 
problemi erano altri. La mia domanda è: Con MySQL come si imposta il 
database di default?



 
 
 
Se leggi bene quello che ho scritto lo capisci
 


ho letto e anche cercato da varie parti, per esempio qui
http://dev.mysql.com/doc/refman/5.0/en/use.html
 
ho fatto molte prove,
ma mi sfugge qualcosa, non ci arrivo.
queste sono le 2 connessioni per locale e remoto
{
$hostname_MioDB = "localhost";
$database_MioDB = "Sql999960_5";
$username_MioDB = "root";
$password_MioDB = "";
$MioDB = mysql_pconnect($hostname_MioDB, $username_MioDB, 
$password_MioDB) or trigger_error(mysql_error(),E_USER_ERROR);
}
else
{/// per Aruba
echo"<br>per Aruba<br>";
 
$hostname_MioDB = "60.140.150.90";
$database_MioDB = "Sql999960_5";
$username_MioDB = "Sql999960";
$password_MioDB = "12345678";
$MioDB = mysql_pconnect($hostname_MioDB, $username_MioDB, 
$password_MioDB) or trigger_error(mysql_error(),E_USER_ERROR);
}
 
===============================================================================================================
Questa è la pagina con la query di test
 
<?php require_once('../Connections/MioDB.php'); ?>
<?php mysql_select_db($database_MioDB, $MioDB);?>
 
perchè in remoto funziona solo cosi
$query = "Select Sql999960_5.prova01.indice, Sql999960_5.prova01.nomi 
 From Sql999960_5.prova01 ";
 
mentre in locale è possibile scrivere anche cosi:
$query = "Select prova01.indice, prova01.nomi  From prova01 ";
 
?
 
Se mi puoi indicare come fare, non ti chiedo certo di scrivermi il db.
Tempo fa, ne scrissi un altro su aruba e non avevo mai riscontrato 
questo problema.
Poiché altri avevano usato questo spazio DB prima di me devono avere 
configurato qualcosa su aruba.
E' cosi o sono completamente fuori strada?
Saluti



In php alla connessione non c'è modo di dire il database da utilizzare
Una volta connesso occorre utilizzare mysql_select_db
 
 
 
 
<?php
 
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$db_selected = mysql_select_db('foo', $link);
if (!$db_selected) {
     die ('Can\'t use foo : ' . mysql_error());
}
?>
 
 
 


 
Ti ringrazio per il tempo che mi hai dedicato, ma devo essere io che non 
mi sono spiegato, l'esempio che mi hai mandato non riesco a farlo 
funzionare.
 
per Aruba questa è la risposta:
Can't use Sql999960_5 : Access denied for user 'Sql999960'@'%' to 
database 'Sql999960_5'



 
Non hai i privilegi per l' accesso a quel database
 
Occorre andare nell' amministratore del db e dare le grant di accesso
Una cosa tipo:
 
GRANT ALL privileges on <dbname>.* to <user>
 
e poi
 
FLUSH PRIVILEGES;