Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Coppa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Come risolvere l’errore di stabilire una connessione al database in WordPress

Viene visualizzato l’avviso “Errore nello stabilire una connessione al database” in WordPress?

Si tratta di un errore fatale che rende il sito inaccessibile agli utenti. Si verifica quando WordPress non è in grado di stabilire una connessione al database. Poiché diversi fattori possono influire su questa connessione, l’errore può essere un po’ difficile da risolvere per i principianti.

In questo articolo vi mostreremo come risolvere facilmente l'”Errore nello stabilire una connessione al database” sul vostro sito WordPress, passo dopo passo.

Fix the Error Establishing a Database Connection in WordPress

Cosa causa l’errore di stabilire una connessione al database in WordPress?

Un database è un software che facilita l’archiviazione, l’organizzazione e il recupero di dati da altri software.

Come sistema di gestione dei contenuti, WordPress utilizza un database per memorizzare tutti i contenuti e gli altri dati del sito web. Si connette quindi al database ogni volta che qualcuno visita il vostro sito web.

WordPress ha bisogno delle seguenti informazioni per connettersi al database:

  • Il nome del database
  • Nome utente e password del database
  • Server di database

Queste informazioni sono memorizzate nel file di configurazione di WordPress, chiamato wp-config.php.

Se una di queste informazioni non è corretta, WordPress non riuscirà a connettersi al server del database e verrà visualizzato l’errore “Errore nello stabilire una connessione al database”.

Database connection error in WordPress

È uno degli errori più comuni di WordPress. Oltre alle credenziali errate, questo errore può comparire anche se il server del database è inattivo o i file del database sono corrotti.

Detto questo, vediamo come risolvere il problema “Errore nello stabilire la connessione al database” in WordPress con una risoluzione dei problemi passo dopo passo.

1. Controllare le credenziali del database di WordPress

Il motivo più comune per cui si verifica un errore di connessione al database è la presenza di credenziali errate. Se avete recentemente spostato il vostro sito WordPress su un nuovo host, è probabile che il problema sia questo.

Le credenziali del database di WordPress sono memorizzate nel file wp-config.php. È il file di configurazione di WordPress che contiene importanti impostazioni, tra cui le informazioni sul database.

Se non avete mai modificato un file wp-config.php, date un’occhiata alla nostra guida per principianti su come modificare il file wp-config.php per maggiori istruzioni.

Si cercheranno le seguenti righe nel file wp-config.php:

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'database_name_here' );
/** MySQL database username */
define( 'DB_USER', 'username_here' );
/** MySQL database password */
define( 'DB_PASSWORD', 'password_here' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

In questo caso, è necessario assicurarsi che le informazioni relative al nome del database, al nome utente, alla password e all’host del database siano corrette.

Potete confermare queste informazioni dalla dashboard del vostro account di hosting WordPress. Per questo tutorial utilizzeremo Bluehost, ma la procedura sarà simile anche per altri pannelli di hosting.

Una volta effettuato l’accesso, fare clic sulla scheda “Sito web” nella colonna di sinistra e poi passare alla scheda “Avanzate”. Quindi, scorrere fino alla sezione “Database” e fare clic sul pulsante “Gestisci” accanto ad essa.

Click the Manage button next to the Database section

In questo modo si aprirà la pagina dei database MySQL in cPanel in una nuova finestra.

Qui, nella sezione “Database corrente”, si trovano il nome del database e il nome utente. Ricordate di copiare e incollare questi dati in un blocco note per poterli aggiungere al file wp-config.

Find your database name and username in the Current Databases section

Quindi, scorrere fino alla sezione “Utenti attuali”, dove è possibile fare clic sul link “Cambia password” accanto al nome del database.

Si accede così a una nuova schermata, in cui è possibile modificare la password del database secondo le proprie esigenze.

Change your database password

Una volta confermati tutti i dettagli del database, è possibile modificare le informazioni nel file wp-config.php, se necessario.

Quindi, provare a visitare nuovamente il sito web per verificare se l’errore di connessione al database è scomparso.

Se l’errore è ancora presente, significa che c’è qualcos’altro che non va.

2. Controllare le informazioni sull’host del database

Se si è certi che il nome del database, il nome utente e la password siano corretti, occorre assicurarsi di utilizzare le informazioni corrette sull’host del database.

La maggior parte delle società di hosting WordPress utilizza localhost come host del database. Tuttavia, alcune società di hosting WordPress gestite utilizzano server separati per ospitare i database. In questo caso, le informazioni sull’host del database non saranno localhost.

Ciò significa che dovrete contattare la vostra società di hosting WordPress per confermare questi dettagli.

3. Riparazione del database di WordPress

Ora potreste ricevere un errore diverso nella dashboard di wp-admin, come “Una o più tabelle del database non sono disponibili” o “Potrebbe essere necessario riparare il database”. In questo caso, è necessario riparare il database.

È possibile farlo aggiungendo la seguente riga nel file wp-config.php. Assicuratevi di aggiungerla subito prima della riga “Questo è tutto, smettete di modificare! Buon blog”:

define('WP_ALLOW_REPAIR', true);

Una volta fatto ciò, è possibile vedere le impostazioni visitando questa pagina: http://www.yoursite.com/wp-admin/maint/repair.php. Assicuratevi di sostituire yoursite.com con il vostro nome di dominio.

A questo punto, è necessario fare clic sul pulsante “Ripara database” per avviare il processo.

Repair WordPress database

Nota: non è necessario che l’utente sia connesso per accedere alla pagina di riparazione del database. Una volta terminata la riparazione e l’ottimizzazione del database, assicurarsi di rimuovere questa riga di codice dal file wp-config.php.

Tuttavia, se non volete aggiungere alcun codice al vostro sito, potete anche riparare il database dal pannello di controllo del vostro account di hosting.

Visitate il vostro account di hosting e aprite la pagina “Siti web” dalla colonna di sinistra. Quindi, passate alla scheda “Avanzate” e fate clic sul pulsante “Gestisci” nella sezione Database.

Click the Manage button next to the Database section

Si aprirà cPanel in una nuova scheda. Qui, scorrere fino alla sezione “Modifica database” e scegliere il nome del database dal menu a discesa “Ripara database”.

Una volta fatto ciò, è sufficiente fare clic sul pulsante “Ripara database” per avviare il processo.

Click the Repair database button

Il pannello di hosting riparerà automaticamente il database.

Una volta completato il processo, verrà visualizzato un messaggio di successo.

Database repair success message

Ora potete visitare il vostro sito WordPress per vedere se l’errore è stato risolto o meno.

4. Controllare se il server di database è inattivo

Se tutto sembra essere corretto e WordPress non riesce ancora a connettersi al database, è possibile che il server del database(server MySQL) sia inattivo.

Questo potrebbe accadere a causa del traffico intenso su un server. Il vostro server host non è in grado di gestire il carico (soprattutto se avete un hosting condiviso).

Per questo motivo, il vostro sito diventerà lento e potrebbe anche dare errore ad alcuni utenti. In questo caso, dovreste telefonare o chattare con il vostro provider di hosting e chiedere se il vostro server MySQL è reattivo.

Inoltre, se sullo stesso server sono in esecuzione altri siti web, è possibile selezionare questi siti per verificare che il server SQL sia giù.

Se non avete altri siti sullo stesso account di hosting, andate semplicemente nel vostro cruscotto di hosting e passate alla scheda “Avanzate”.

Successivamente, fare clic sul pulsante “Gestisci” accanto alla sezione phpMyAdmin.

Click the Manage button next to the PHPMyAdmin option

Si aprirà phpMyAdmin in una nuova finestra, dove si dovrà fare clic sull’opzione “Database” in alto.

Quindi, fare clic sul nome del database per accedere alle sue impostazioni. Se ci riuscite, è il momento di verificare se l’utente del database ha i permessi sufficienti.

Connect PHPMyAdmin with your database

Per farlo, occorre creare un nuovo file chiamato testconnection.php e incollarvi il seguente codice:

<?php
$link = mysqli_connect('localhost', 'username', 'password');
if (!$link) {
die('Could not connect: ' . mysqli_error());
}
echo 'Connected successfully';
mysqli_close($link);
?>

Dopo aver incollato il codice, assicuratevi di sostituire il nome utente e la password con i vostri. Ora è possibile caricare questo file sul proprio sito web e accedervi tramite un browser.

Se lo script si è collegato correttamente, significa che l’utente dispone di permessi sufficienti e che l’errore è causato da qualcos’altro.

Ora è necessario tornare al file wp-config e analizzarlo per assicurarsi che tutti i dettagli siano accurati e senza errori di battitura.

Altre soluzioni che hanno funzionato per gli utenti

Se i suggerimenti per la risoluzione dei problemi di cui sopra non riescono a risolvere l’errore di connessione al database sul vostro sito web, potete provare questi ulteriori passaggi.

Come riportato dai nostri utenti, questi passaggi hanno aiutato alcuni di loro a risolvere l’errore di connessione al database sui loro siti web.

1. Aggiornare l’URL del sito WordPress

Potete provare ad aggiornare l’URL del sito WordPress utilizzando phpMyAdmin in cPanel.

È sufficiente accedere a phpMyAdmin dalla dashboard dell’account di hosting e selezionare il database di WordPress dall’elenco.

Quindi passate al menu SQL in alto e inserite la seguente query MySQL:

UPDATE wp_options SET option_value='YOUR_SITE_URL' WHERE option_name='siteurl'

L’aspetto dovrebbe essere il seguente:

Change site URL

Non dimenticate di fornire l’URL del vostro sito e di cambiare wp_options con il nome della vostra tabella, poiché potreste aver cambiato il prefisso della tabella di WordPress.

2. Riavvio del server Web

Gli utenti di server dedicati, server locali e server privati virtuali (VPS) possono provare a riavviare i loro server.

In questo modo si riavvia il server web e il database, che potrebbe risolvere alcuni problemi temporanei che causano l’errore.

3. Chiedere aiuto

Se tutto il resto non funziona, potrebbe essere necessario contattare la società di web hosting. Tutte le buone società di hosting WordPress vi aiuteranno a risolvere il problema, vi indicheranno la direzione giusta o addirittura lo risolveranno per voi.

Potete anche assumere sviluppatori WordPress utilizzando una piattaforma come WPBeginner Pro Services per aiutarvi a correggere questo problema a prezzi ragionevoli. Abbiamo un team dedicato di sviluppatori esperti di cui potete fidarvi per correggere qualsiasi problema di WordPress.

WPBeginner Pro Services

Inoltre, è possibile utilizzare il servizio per la manutenzione del sito, la riparazione di siti violati, l’ottimizzazione della velocità, la ricostruzione del sito web e l’ottimizzazione SEO.

Speriamo che questo articolo vi abbia aiutato a risolvere il problema “Errore nello stabilire una connessione al database” in WordPress. Potreste anche voler consultare la nostra guida alla risoluzione dei problemi di WordPress per avere suggerimenti su come risolvere i problemi di WordPress da soli, oppure la nostra selezione di esperti dei migliori strumenti per freelance e sviluppatori di WordPress.

Se questo articolo vi è piaciuto, iscrivetevi al nostro canale YouTube per le esercitazioni video su WordPress. Potete trovarci anche su Twitter e Facebook.

Divulgazione: I nostri contenuti sono sostenuti dai lettori. Ciò significa che se cliccate su alcuni dei nostri link, potremmo guadagnare una commissione. Vedi come WPBeginner è finanziato , perché è importante e come puoi sostenerci. Ecco il nostro processo editoriale .

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Il kit di strumenti WordPress definitivo

Ottenete l'accesso gratuito al nostro kit di strumenti - una raccolta di prodotti e risorse relative a WordPress che ogni professionista dovrebbe avere!

Reader Interactions

663 commentiLascia una risposta

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. ravendra says

    hello I need your help please help me my website is showing Error establishing a database connection
    how can I solve I don’t know please help me

  3. Daniel says

    I had this very same issue while using Xampp. After using the “testconection.php” file and through some further trouble shooting, I discovered that my user account was set to connect to “Any host” and by changing it to “Localhost” the problem was solved. I suspect this error came about when I updated Xampp and recreated the same named user.

    • Della says

      For my case the correct response was by Daniel.
      …I discovered that my user account was set to connect to “Any host” and by changing it to “Localhost” the problem was solved.

      Thanks so much!

    • WPBeginner Support says

      The methods in this article should be able to help with localhost sites as well as hosted sites.

      Admin

  4. Cosme Fulanito says

    After succeed the “Check your Web Host (MySQL Server)” test I change the host from 127.0.01 to localhost on the config.php file.

    That worked for me.

  5. Vinay Mourya says

    hi, it is happening to my WordPress site only sometimes and when I reload the page site starts working again please suggest me a solution, for now, I am using Cloudflare as cdn and wp rocket for caching plugin, the theme is newspaper premium.

    • WPBeginner Support says

      If it is intermittent like that, you would want to reach out to your hosting provider and let them know and they should be able to assist.

      Admin

  6. Gee says

    Same exact error i got “Error establishing a database connection” but not all of the sollution you mentíon helped me.

    For me the MySql services was disabled: I went to services and start the MySQL to automatic. The other thing was the ” log on ” to user was administrator and changed it to the account i created.

    Now my wordpress site is working again.

  7. Umar says

    I have a weird situation is, that the error establishing a database connection is only happening to one post in my blog while other posts are not showing this issue.

  8. rabda says

    I am receiving this error one time on 3 and not always! I do not understand why and how to solve the problem

    • WPBeginner Support says

      You may want to try reaching out to your hosting provider to see if their error logs have information that can help find the root of the issue.

      Admin

  9. Ryan says

    thanks so much, worked great, really appreciate how fast and to the point the video was, instead of a 7-10min extended one, boom, stright to the point!

  10. Bob Richardson says

    Thanks so much for this post. Saved me lots of time troubleshooting. I had changed my database password after a web hack and forgot to change wp-config file. Your instructions are spot on.

  11. Parker Beck says

    I fixed it by deleting the MySql database and making a new by importing the backup. I did not need a fresh instance of WordPress.

    • Julia says

      Same here! After hours of debugging, reinstalling MySQL and WP, deleting the wordpress database was the solution. Thanks Parker!

  12. Filipa says

    I’m not a developer or have any background in file managing and I could follow your instructions easily. Either I’m a genius or you’re awesome! Or maybe both!

  13. Yaser says

    Thanks for the article.
    I had this error while setting up a local instance of WordPress running on Wamp server on windows.
    *For me, it got solved when I changed the blank password of the localhost from phpMyAdmin panel, * the password was blank so I suspect that’s the reason, or maybe changing the password updated some necessary files automatically.
    Just wanted to share this ^-^

  14. Frenda Chu says

    Dear sirs,
    I’m a beginner making a big mistake of using all-in-one migration to export my website to a whole package(a “.wpress” file, containing old database information inside) unless using separated database files and then restored it on my new host.
    After that my website display”Error establishing a database connection”.
    I have tried checking the config.php, but the database name is correct to my new host.
    I now understand that’ s a terrible way to migrate my web, however, I don’t have any backup. Is there any method can help save this problem?

  15. askhar says

    Thank you very much for the guide,
    I follow step by step, and now my web is better.
    The tutorial is very useful

  16. Jon says

    Thanks very much for the article. I’m new to WordPress, and this error was pretty disconcerting. I got the error after a simple page edit today – not even fiddling with back end files. Your advice on editing the wp config file fixed it straight away. Thanks again!

  17. Frans Bouman says

    Thanks immensely for the article. Although my problem wasn’t identical to the problems given, changing the hosts file managed to get me pointing at the new (unpropogated) version of the web site and replacing localhost with the ip address in wp-config took care of all the problems with pointing to the active version of the site. Now the new site is fully tested and I can shift servers safely. Well done!

  18. nirjon says

    I am getting this message when trying to add photos to my product page

    Connection lost. Saving has been disabled until you’re reconnected. We’re backing up this post in your browser, just in case.

    Can please some one help me

  19. Simon Jackson says

    Thank you so much for sharing this step by step tutorial. Actually, I have installed WordPress first time, it shows me “Error Establishing A Database Connection” and I don’t know what to do. Then I have searched on Google and I found your this article and really it is
    very helpful for me and also many people who have no idea about this things.

  20. WITMAN says

    I am getting this quite often on my reseller account and it affects my websites. I honestly don’t know what to do at this point. While my host company has been very supportive, it happens just about every time: jiffynaija.com

  21. Niaz Ahmed says

    Hello People,

    Firstly i appreciate the effort taken by wpbeginner for creating all these articles and helping out people from their bad nightmares.

    Here come my question, i had the same trouble i tried all the steps which was given below and it worked, but after every few hours later this screen appears again and again, now what is did is i restarted the server it worked but still i’m getting the same page every time. please somebody gimme a permanent solution for this it will be much appreciated. TIA

  22. David says

    I had moved from one host to another. Was getting the error. I had used a different database prefix on the new host. Changing this in the wp-config.php solved the problem.

    /**
    * WordPress Database Table prefix.
    *
    * You can have multiple installations in one database if you give each a unique
    * prefix. Only numbers, letters, and underscores please!
    */
    $table_prefix = ‘newprefix_’;

  23. Mila says

    I battled with MAMP on MacOS Sierra ver. 10.12.6 for a couple of days. After trying what seemed like Everything, I finally gave up. With MAMP, MySQL would not start although Apache did & PHPMyAdmin was throwing the same error about MySQL. I uninstalled MAMP and installed DesktopServer and I’m so glad I did. It worked like a charm. It was incredibly easy!

  24. Anmol says

    i have issue when open any post it shows this error what should i do how to fix this error—>

    Notice: getTemplate was called incorrectly. templates/single//layout.php does not exist. Please see Debugging in WordPress for more information.

  25. Louis says

    I’ve created a site on localhost. I am using MAMP. I tried to go live. When I changed the user password in mp-config file the error of not able to connect to serve appeared. I tried to change it back but if have been unable to get back to my login for wp. That’s where I’m not understanding. How do I know where the password and username should be matching up?

    • Ola says

      Pls am trying to install WordPress on localhost and after entering my database username instead of taking me to the installation page, it keep bring error that “Error establishing a database connection”. Pls what can cause this error? and have done all the necessary things

  26. Andrew Johnson says

    As soon as I saw the error I was like oh god there goes my day trying to sort this out! I hadn’t touched wordpress or my hosting account for ages, had forgotten everything and was like okay back to square one here.

    BUT

    This article’s fix worked like a charm (changing the password to the database and making sure it was the same in wp-config). Saved me a huge headache.

    THANK YOU!

  27. shach says

    hi, thanks for the effort to bring this post up.
    after some hours that i spent twiking and ftp-ing and phpmyadmin-ing, i finally got all my settings super-perfect, but still this anoyying message.

    so- i just openned my chat with bluehost, and once again they proved to be really fast in answering. with a click it was all up and alive.

    so- next time it will take me less time to open-up the chat box with them

  28. Shawn Rebelo says

    Now to find out why it does this on localhost when there is NO config file yet! Trying to install for first time in another folder, but get this error? Saying config in wp-config might incorrect? Well ya… there is no file!

  29. Gwen says

    I don’t understand WHERE to find the file to access it and change it seeing as I can’t get into my WordPress account :(

  30. Dan Logue says

    I’ve encountered the no database connection error. I can run a connect.php script using root and password which says connected successfully. To what is my question. Just to my localhost server? root and password I used were those for my phpMyAdmin login.

    A similar connect_db script using the actual wordpress database user and password fails. user and database password match the wp-config values.

    I’ve used the user root and its companion password in the wp db table but still get connection error.

    Any help would be appreciated.

  31. Colleen says

    Has anyone seen this error? I’ve searched and searched, but can’t get an answer:

    INSERT INTOwp_contact_form_7(cf7_unit_id,title,form,mail,mail_2,messages,additional_settings) VALUES (1,’Contact form 1′,’Your Name (required)\r\n [text* your-name] </p

    #1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ”Your Name (required)\r\n [text* your-name] </p’ at line 1

    Thanks!

  32. Tessa says

    i found another solution.
    Host: localhost to Host: 127.0.0.1:8889
    but I also changed the wp-config-sample.php
    /** MySQL hostname */
    define(‘DB_HOST’, ‘127.0.0.1:8889’);

    and

    define(‘WP_ALLOW_REPAIR’, true);

    Save and reload tab.

  33. Scott Grams says

    I have this issue once in a while on a local server after server reboot. The solution that has always worked is to stop httpd, then restart mysqld, then start httpd again. Had always fixed the problem. Probably not a solution if your site is hosted of site.

  34. PAUL says

    Suddenly, my localhost stopped saving anything. Tried installing a new WordPress but whenever I’m to login to the back-end, the right or any password or login credentials won’t open it.
    What is the problem and what is the solution?

    • PAUL says

      Also, Database repair didnt work for the project I had on. I’ve uninstalled xampp numerous times, still didnt work

  35. Nathan Pinno says

    After doing the database repair, I got this:

    wp_1_posts: Table ‘nb_blog.wp_1_posts’ doesn’t exist
    wp_1_comments: Table ‘nb_blog.wp_1_comments’ doesn’t exist
    wp_1_links: Table ‘nb_blog.wp_1_links’ doesn’t exist
    wp_1_options: Table ‘nb_blog.wp_1_options’ doesn’t exist
    wp_1_postmeta: Table ‘nb_blog.wp_1_postmeta’ doesn’t exist
    wp_1_terms: Table ‘nb_blog.wp_1_terms’ doesn’t exist
    wp_1_term_taxonomy: Table ‘nb_blog.wp_1_term_taxonomy’ doesn’t exist
    wp_1_term_relationships: Table ‘nb_blog.wp_1_term_relationships’ doesn’t exist
    wp_1_termmeta: Table ‘nb_blog.wp_1_termmeta’ doesn’t exist
    wp_1_commentmeta: Table ‘nb_blog.wp_1_commentmeta’ doesn’t exist

    What can I do to fix this?

    Thanks,
    Nathan Pinno

  36. Cesare Rossi says

    My WordPress site (2 server, One web and One db) works perfectly at the first run. if I reboot the web server it shows the database errore.

  37. sanjiv says

    will thi sbe fixed as you are saying in this article i will have to go for it than only i can say any thing about this site .

  38. pau says

    mine also broke down without me making any edit on the website whatsover for like 2 months, i got scared… so this is how i ended up here looking what to do, but reading all this i just refreshed the page and its working, somehow automatically… i dont know how long i had this error was there for but its between minimum 10min and 2 hours max, the host im using is hostgator and just before i was to contact them i refreshed the page and its working, so my advice if anything you can atleast wait 2 hours and it may turn back on like mine, PEACE!

Lascia una risposta

Grazie per aver scelto di lasciare un commento. Tenga presente che tutti i commenti sono moderati in base alle nostre politica dei commenti e il suo indirizzo e-mail NON sarà pubblicato. Si prega di NON utilizzare parole chiave nel campo del nome. Avremo una conversazione personale e significativa.