Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Accesso negato a DB MySQL con PHP

    Ciao a tutti,
    c'è un problema che non riesco a risolvere.

    Ho testato un sito in locale con DB mysql in locale e funziona tutto.
    L'ho uplodato sul server (xyz), modificato la stringa di connessione al DB con i dati di accesso del server MySql e quando apro index.php mi scrive:

    codice:
    Access denied for user: 'Sql12345@60.140.130.90' (Using password: YES)
    Vi riporto il codice che uso per la connessione, che vi ricordo in locale funziona perfettamente, ho solo sostituito user, psw e indirizzo IP con quelli del server (ho controllato e sono corretti).
    Nell'esempio i codici e l'IP sono naturalmente finti.

    codice:
    class MysqlClass
    {
    	//parametri per la connessione al database
    	private $nomehost = "60.140.130.90";
    	private $nomeuser = "Sql12345";
    	private $password = "miapsw";
    	private $nomedb = "Sql12345_1";
    
    	// controllo sulle connessioni attive
    	private $attiva = false;
    
    	// funzione per la connessione a MySQL
    	public function connetti()
    	{
    	  if(!$this->attiva)
    	  {
    	    if ($connessione = @mysql_connect($this->nomehost,$this->nomeuser,$this->password) or die (mysql_error()))
    		{
    		  //selezione del database
    		  $selezione = @mysql_select_db($this->nomedb, $connessione) or die (mysql_error());
    		}
    		}else{
    		  return true;
    		}
    	  }
    
    	// funzione per la disconnessione a MySQL
    	public function disconnetti()
    	{
    	  if($this->attiva)
    	  {
    		if(mysql_close())
    		{
    	  $this->attiva = false;
    	    return true;
    	    	}else{
    			return false;
    		}
    	  }
    	}
    }
    Roberto Pazzini

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    204
    Ma nomehost non devi lasciarlo localhost e non mettere l'indirizzo del server?

    Codice PHP:
    private $nomehost "localhost";
    private 
    $nomeuser "Sql12345";
    private 
    $password "miapsw";
    private 
    $nomedb "Sql12345_1"

  3. #3
    No, è giusto così. Localhost si usa solo in locale
    Roberto Pazzini

  4. #4
    Io uso localhost, localhost significa appunto host locale, dove sono alloggiati i files. Dovevi mettere l'ip se collegavi al db posto in un altra macchina di una rete diversa da quella locale.

    bebbbo, in definitiva hai detto giusto, localhost si usa solo in locale, ma in locale non vuol dire sul tuo pc, vuol dire dove sono alloggiati i file rispetto al server.


    server=pc 123.456.78.9
    file=pc 123.456.78.9

    == Locale



    server=pc 123.456.78.9
    file=pc 123.145.67.89

    == NON Locale

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    204
    Fidati che si usa localhost anche quando lo carichi su un server, perché gira in localhost (non sul tuo pc ma sul server come ha detto FFMM)


  6. #6
    Mi dispiace ma mi sa che sbagliate (o meglio avete ragione ma in questo caso è errato)...ho fatto come dite voi, togliendo l'ip e mettendo localhost e questo è il risultato:

    codice:
    Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
    L'IP che inserisco io è quello indicato proprio dall'help di xyz, sono loro che dicono di inserire quello.

    Quello che dite voi è giusto, ma probabilmente xyz ha lo spazio web e MySQL su server diversi e quindi "localhost" non va bene.

    Vi dico un'altra cosa che forse può aiutarvi ad aiutarmi.
    Sempre nello spazio web ho un altro sito che si collega a mysql in modo leggermente diverso (non usa variabili private ma indica direttamente i valori) e questo funziona, ecco il codice funzionante:

    codice:
    $dbconnection = @mysql_connect('60.140.130.90','Sql12345','miapasw');
    if (!$dbconnection) {
    	exit('
    
    Impossibile connettersi al server del database in questo momento.</p>');
    }
    if (!@mysql_select_db('Sql12345_1', $dbconnection)) {
    	exit('
    
    Impossibile trovare il database di NCGIS</p>');
    }
    Secondo voi perchè questo funziona e l'altro no????
    Roberto Pazzini

  7. #7
    Ora mi ucciderete...ho risolto...nella password mancava una virgola (si, proprio una virgola...)

    Cmq vi confermo che su xyz è necessario usare l'IP del server MySQL.
    Roberto Pazzini

  8. #8
    ah ok, allora edito.

    Cmq di xyz non sempre, io ho di siti su xyz che usano localhost.

    Comunque meglio per te se tutto è ok.

    ciauu

  9. #9
    no, dico, giusto per curiosità, ma qualcuno qui lo ha letto il regolamento?

    probabilmente no.

    bene, per rinfrescarvi la memoria: non si può parlare di hosters e servizi di hosting in questa sezione del forum.

    Chiudo il thread e censuro ... rileggetevi il regolamento gentilmente cosi da evitare futuri avvisi

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.