{"id":1475,"date":"2024-03-21T11:50:27","date_gmt":"2024-03-21T11:50:27","guid":{"rendered":"\/tutorial\/?p=1475"},"modified":"2025-12-18T13:28:36","modified_gmt":"2025-12-18T13:28:36","slug":"collegare-php-a-mysql","status":"publish","type":"post","link":"\/it\/tutorial\/collegare-php-a-mysql","title":{"rendered":"Come collegare PHP a MySQL"},"content":{"rendered":"<p>Per i principianti nello sviluppo di siti web, capire come utilizzare gli script PHP per connettersi a MySQL pu&ograve; essere molto vantaggioso. Questo ti consente di modificare, visualizzare o gestire le tabelle all&rsquo;interno del database MySQL. In questo articolo, ti guideremo attraverso i metodi pi&ugrave; semplici per raggiungere questo obiettivo. Cominciamo!<\/p><div class=\"wp-block-rank-math-toc-block\"><h2 id=\"h-indice-dei-contenuti\">Indice dei contenuti<\/h2><nav><ul><li><a href=\"#h-creazione-di-un-database-mysql-opzionale\">Creazione di un database MySQL (opzionale)<\/a><\/li><li><a href=\"#h-due-modi-in-cui-uno-script-php-puo-connettersi-a-mysql\">Due modi in cui uno script PHP pu&ograve; connettersi a MySQL<\/a><\/li><li><a href=\"#h-utilizzo-di-mysqli-per-collegare-uno-script-php-a-mysql\">Utilizzo di MySQLi per collegare uno script PHP a MySQL<\/a><ul><li><a href=\"#h-spiegazioni-del-codice-mysqli\">Spiegazioni del codice MySQLi<\/a><\/li><\/ul><\/li><li><a href=\"#h-utilizzo-di-pdo-per-connettere-uno-script-php-a-mysql\">Utilizzo di PDO per connettere uno script PHP a MySQL<\/a><\/li><li><a href=\"#h-verifica-della-connettivita-e-risoluzione-degli-errori-comuni\">Verifica della connettivit&agrave; e risoluzione degli errori comuni<\/a><ul><li><a href=\"#h-errore-di-password-errata\">Errore di password errata<\/a><\/li><li><a href=\"#h-impossibile-connettersi-al-server-mysql\">Impossibile connettersi al server MySQL<\/a><\/li><\/ul><\/li><li><a href=\"#h-conclusioni\">Conclusioni<\/a><\/li><\/ul><\/nav><\/div><h2 class=\"wp-block-heading\" id=\"h-creazione-di-un-database-mysql-opzionale\"><strong>Creazione di un database MySQL (opzionale)<\/strong><\/h2><p>Questo passaggio &egrave; richiesto se non hai un <strong>database MySQL<\/strong>. Se sei un utente di Hostinger, puoi facilmente crearne uno nuovo tramite l&rsquo;hPanel di Hostinger in pochi passaggi:<\/p><ol class=\"wp-block-list\">\n<li>Trova il menu <strong>Database MySQL <\/strong>sotto la sezione <strong>Database <\/strong>.<\/li>\n\n\n\n<li>Compila i campi necessari e clicca su <strong>Crea<\/strong><\/li>\n<\/ol><p>Tieni presente, tuttavia, che questi sono database vuoti e dovrai inserire dati prima di poterli manipolare.<\/p><p>\n\n\n<div><p class=\"important\"><strong>Importante! <\/strong>Annota le credenziali del database MySQL che hai appena creato per il prossimo passaggio. Non dimenticare di ricordare anche il nome utente del database e la password del nome utente!<\/p><\/div>\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-due-modi-in-cui-uno-script-php-puo-connettersi-a-mysql\"><strong>Due modi in cui uno script PHP pu&ograve; connettersi a MySQL<\/strong><\/h2><p>Ci sono due metodi per connettersi a un database MySQL utilizzando PHP: <strong>MySQLi<\/strong> e <strong>PDO<\/strong>.<\/p><p><strong>MySQLi <\/strong>significa<strong> MySQL migliorato. <\/strong>&Egrave; un&rsquo;estensione esclusiva di MySQL che aggiunge nuove funzionalit&agrave; all&rsquo;interfaccia di un database MySQL. MySQLi &egrave; sia procedurale che orientato agli oggetti, con il primo che &egrave; l&rsquo;attributo ereditato dalla versione precedente di MySQL.<\/p><p>L&rsquo;originale MySQL suddivide un compito in procedure lineari, passo dopo passo, il che lo rende difficile da modificare perch&eacute; devi modificare il codice dall&rsquo;inizio. Nel frattempo, MySQLi vede i dati come un insieme di oggetti intercambiabili con funzioni, permettendo agli utenti di aggiungere o rimuovere facilmente i dati.<\/p><p><strong>PDO <\/strong>significa <strong>Data object PHP. <\/strong>A differenza di MySQLi, PDO &egrave; solo orientato agli oggetti e supporta un numero di diversi tipi di database che utilizzano PHP, come MySQL, MSSQL, Informix e PostgreSQL.<\/p><p><strong>Importante!<\/strong> Le funzioni originali <strong>mysql_ <\/strong>sono <strong>obsolete<\/strong> e non dovrebbero essere utilizzate in quanto non sicure e non pi&ugrave; mantenute o sviluppate.<\/p><p>Una delle caratteristiche pi&ugrave; importanti che entrambi supportano &egrave; <strong>prepared statements<\/strong>, che accelera il tempo necessario per MySQL per eseguire la stessa query pi&ugrave; volte. Viene utilizzato anche per prevenire attacchi di iniezione SQL quando si apportano modifiche al database o si inseriscono input forniti dall&rsquo;utente in una query o dichiarazione del database.<\/p><p>Qualunque metodo tu utilizzi, avrai bisogno delle informazioni corrette per poterti connettere al database MySQL che hai creato. Questo &egrave; il momento in cui i dettagli del database MySQL che hai salvato in precedenza diventano utili.<\/p><p>Hai anche bisogno del corretto <strong>nome del server<\/strong> o <strong>hostname<\/strong> per la configurazione. Hostinger utilizza <strong>&ldquo;localhost&rdquo; <\/strong>come nome host del suo server MySQL. In generale, questo &egrave; il nome che vorrai usare se hai caricato il tuo script PHP sullo stesso server del database.<\/p><p>Al contrario, se stai utilizzando una <strong>connessione remota MySQL<\/strong> per connetterti a un database, dovrai utilizzare l&rsquo;<strong>indirizzo IP<\/strong> del server MySQL. Per ulteriori dettagli, contatta il tuo fornitore di hosting affinch&eacute; possa fornirti le informazioni corrette su cosa utilizzare come nome host.<\/p><h2 class=\"wp-block-heading\" id=\"h-utilizzo-di-mysqli-per-collegare-uno-script-php-a-mysql\"><strong>Utilizzo di MySQLi per collegare uno script PHP a MySQL<\/strong><\/h2><p>Segui questi passaggi per utilizzare MySQLi per connettere uno script PHP a MySQL:<\/p><ol class=\"wp-block-list\">\n<li>Vai su <strong>Gestione file<\/strong> -&gt; <strong>public_html.<\/strong><\/li>\n\n\n\n<li>Crea un <strong>Nuovo file <\/strong>cliccando sull&rsquo;icona dal menu laterale.<\/li>\n\n\n\n<li>Salva il file come <strong>databaseconnect.php<\/strong>. Puoi sostituire il nome con quello che preferisci, assicurati solo che utilizzi php come estensione.<\/li>\n\n\n\n<li>Fai doppio clic per aprire il file e copia-incolla le seguenti righe di codice al suo interno. Modifica i primi quattro valori sotto <strong>&lt;?php<\/strong> con le credenziali che hai annotato in precedenza:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">&lt;?php\n\n$servername = \"localhost\";\n\n$database = \"u123456789_DatabaseName\";\n\n$username = \"u123456789_User\";\n\n$password = \"MyStr0ngPa$!\";\n\n\/\/ Create connection\n\n$conn = mysqli_connect($servername, $username, $password, $database);\n\n\/\/ Check connection\n\nif (!$conn) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;die(\"Connection failed: \" . mysqli_connect_error());\n\n}\n\necho \"Connected successfully\";\n\nmysqli_close($conn);\n\n?&gt;<\/pre><h3 class=\"wp-block-heading\" id=\"h-spiegazioni-del-codice-mysqli\"><strong>Spiegazioni del codice MySQLi<\/strong><\/h3><p>Il metodo principale utilizzato in questo script &egrave; <strong>mysqli_connect()<\/strong>. Questa &egrave; una funzione interna di PHP per stabilire una nuova connessione a un server MySQL.<\/p><p>All&rsquo;inizio del nostro codice, vediamo alcune dichiarazioni di variabili e valori assegnati a queste variabili. Di solito, ne abbiamo bisogno di quattro per stabilire una corretta connessione al database: <strong>$servername, $database, $username, <\/strong>e <strong>$password<\/strong>. Nel codice, impostiamo i dettagli del nostro database come valori per quelle variabili, in modo che possano essere passati alla funzione.<\/p><p>Se la connessione non ha successo, viene eseguita la funzione <strong>die()<\/strong>. Questo praticamente distrugge il nostro script e ci d&agrave; un messaggio di errore di connessione che abbiamo impostato. Per impostazione predefinita, l&rsquo;errore di connessione MySQL dir&agrave; <strong>Connessione fallita <\/strong>seguito da un messaggio di errore esatto che descrive il problema.<\/p><p>D&rsquo;altra parte, se la connessione a MySQL ha successo, il codice mostrer&agrave; <strong>Connessione riuscita<\/strong> invece.<\/p><p>L&rsquo;ultima parte del codice &egrave; <strong>mysqli_close<\/strong>, che semplicemente chiuder&agrave; manualmente la connessione al database. Se non specificato, le connessioni MySQL si chiuderanno da sole una volta terminato lo script.<\/p><h2 class=\"wp-block-heading\" id=\"h-utilizzo-di-pdo-per-connettere-uno-script-php-a-mysql\"><strong>Utilizzo di PDO per connettere uno script PHP a MySQL<\/strong><\/h2><p>L&rsquo;altro metodo per utilizzare lo script PHP per connettersi a MySQL &egrave; tramite PDO. Questo &egrave; simile al metodo precedente, ma con una leggera variazione:<\/p><ol class=\"wp-block-list\">\n<li>Nel<strong> public_html<\/strong>, crea un file chiamato<strong> pdoconfig.php<\/strong> e inserisci il seguente codice. Come sempre, non dimenticare di sostituire i valori segnaposto con le informazioni del tuo database. <strong>Salva e chiudi<\/strong> una volta terminato:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">&lt;?php\n\n$host = \"localhost\";\n\n$dbname = \"u123456789_DatabaseName\";\n\n$username = \"u123456789_User\";\n\n$password = \"MyStr0ngPa$!\";<\/pre><ol class=\"wp-block-list\" start=\"2\">\n<li>Crea un altro file chiamato <strong>databaseconnect.php<\/strong> nella stessa directory, ma con il seguente codice. Se hai nominato il file precedente in modo diverso, assicurati di cambiare il valore di <strong>require_once<\/strong>.<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">&lt;?php\n\nrequire_once 'pdoconfig.php';\n\ntry {\n\n$conn = new PDO(\"mysql:host=$host;dbname=$dbname\", $username, $password);\n\necho \"Connected to $dbname at $host successfully.\";\n\n} catch (PDOException $pe) {\n\ndie (\"Could not connect to the database $dbname :\" . $pe-&gt;getMessage());\n\n}<\/pre><p><strong>Spiegazione del codice PDO<\/strong><\/p><p>Una connessione al database PDO richiede di creare un nuovo oggetto PDO con un <strong>Nome della fonte dati (DSN), username<\/strong> e <strong>password<\/strong>.<\/p><p>Il DSN definisce il tipo di database, il nome del database e qualsiasi altra informazione relativa al database se necessario. Queste sono le variabili e i valori che abbiamo dichiarato all&rsquo;interno del file <strong>dbconfig.php <\/strong>, citati una volta dalla riga <strong>require_once <\/strong>nel <strong>databaseconnect.php.<\/strong><\/p><p>In quest&rsquo;ultimo, troverai il codice <strong>try&hellip;catch.. <\/strong>. Ci&ograve; significa che lo script <strong>prover&agrave;<\/strong> a connettersi a MySQL utilizzando il codice fornito, ma se ci fosse un problema, verr&agrave; eseguito il codice nella sezione <strong>catch<\/strong>. Puoi utilizzare il <strong>blocco catch<\/strong> per visualizzare messaggi di errore di connessione o eseguire codice alternativo se il <strong>blocco try<\/strong> fallisce.<\/p><p>Se la connessione ha successo, verr&agrave; stampato il messaggio &ldquo;<strong>Connesso a $dbname su $host con successo.<\/strong>&rdquo; Tuttavia, se il tentativo fallisce, il codice di cattura mostrer&agrave; un semplice messaggio di errore e interromper&agrave; lo script.<\/p><p>A differenza di quando si utilizza MySQLi, dopo aver finito di utilizzare uno script PDO, non &egrave; necessario chiudere manualmente la connessione. Viene chiuso automaticamente quando l&rsquo;oggetto PDO viene distrutto, o quando termina il tuo script.<\/p><h2 class=\"wp-block-heading\" id=\"h-verifica-della-connettivita-e-risoluzione-degli-errori-comuni\"><strong>Verifica della connettivit&agrave; e risoluzione degli errori comuni<\/strong><\/h2><p>Per verificare se la connessione &egrave; riuscita, accedi al tuo dominio in questo modo: <strong>tuodominio\/databaseconnect.php<\/strong>. Se nomini il file PHP in modo diverso, assicurati di modificarlo di conseguenza.<\/p><p>Vedrai &ldquo;<strong>Connesso<\/strong> <strong>con successo<\/strong>&rdquo; o varianti di questo messaggio se tutto funziona senza problemi.<\/p><p>Ora, se la connessione non &egrave; stata effettuata con successo, vedrai qualcosa di diverso. I messaggi di errore appaiono leggermente diversi per MySQLi e PDO.<\/p><h3 class=\"wp-block-heading\" id=\"h-errore-di-password-errata\"><strong>Errore di password errata<\/strong><\/h3><p>Questo errore si verifica se modifichiamo la password o qualsiasi credenziale nel codice PHP (ma non la cambiamo nel database effettivo).<\/p><p>Nel caso in cui vedi un messaggio &ldquo;<strong>Accesso negato<\/strong>&rdquo; o &ldquo;<strong>Impossibile connettersi al database<\/strong>&rdquo; accompagnato da &ldquo;<strong>(utilizzando password: S&Igrave;)<\/strong>&rdquo; alla fine, la prima cosa da fare &egrave; controllare i dettagli del database. Potrebbe esserci un errore di battitura o una parte mancante.<\/p><h3 class=\"wp-block-heading\" id=\"h-impossibile-connettersi-al-server-mysql\"><strong>Impossibile connettersi al server MySQL<\/strong><\/h3><p>Se ottieni &ldquo;<strong>Impossibile connettersi al server MySQL su &lsquo;server&rsquo; (110)<\/strong>&rdquo; in MySQLi, significa che lo script non ha ricevuto una risposta da un server. Questo accade quando impostiamo &ldquo;<strong>server<\/strong>&rdquo; invece di &ldquo;<strong>localhost<\/strong>&rdquo; come <strong>&nbsp;$servername,<\/strong> e questo nome non viene riconosciuto.<\/p><p>Il messaggio di errore in PDO apparir&agrave; come &ldquo;<strong>Connessione fallita: SQLSTATE[Hy000] [2002]<\/strong>&rdquo; seguito da ulteriori dettagli che indicano che l&rsquo;host My SQL non &egrave; stato trovato. Ma il modo per risolvere il problema &egrave; lo stesso di sopra.<\/p><p>E naturalmente, &egrave; sempre importante ricordare una regola d&rsquo;oro per risolvere un errore: <strong>controlla il registro degli errori del tuo sito<\/strong>.<\/p><p>Il registro pu&ograve; essere trovato nella stessa cartella in cui lo script &egrave; in esecuzione. Ad esempio, se stiamo eseguendo uno script in <strong>public_html<\/strong>, troveremo <strong>error_log<\/strong> nella stessa cartella.<\/p><h2 class=\"wp-block-heading\" id=\"h-conclusioni\"><strong>Conclusioni<\/strong><\/h2><p>In questo tutorial, abbiamo appreso le conoscenze di base su come collegare PHP a MySQL utilizzando <strong>MySQLi<\/strong> e <strong>PHP Data Objects (PDO)<\/strong>.<\/p><p>Speriamo che questa guida sia stata utile per coloro che stanno appena iniziando con lo sviluppo web. Dopotutto, connettersi a un database &egrave; il primo, pi&ugrave; importante passo quando si lavora con script e configurazioni pi&ugrave; avanzate.<\/p><p>Fateci sapere nei commenti qui sotto se riscontri problemi nel seguire questa guida.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Per i principianti nello sviluppo di siti web, capire come utilizzare gli script PHP per connettersi a MySQL pu&ograve; essere molto vantaggioso. Questo ti consente di modificare, visualizzare o gestire le tabelle all&rsquo;interno del database MySQL. In questo articolo, ti guideremo attraverso i metodi pi&ugrave; semplici per raggiungere questo obiettivo. Cominciamo! Creazione di un database [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/it\/tutorial\/collegare-php-a-mysql\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":399,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"Come collegare PHP a MySQL con PDO e MySQLi","rank_math_description":"Questo articolo ti mostrer\u00e0 come collegare PHP a MySQL utilizzando due metodi diversi: MySQLi e PDO.","rank_math_focus_keyword":"collegare php a mysql","footnotes":""},"categories":[25],"tags":[],"class_list":["post-1475","post","type-post","status-publish","format-standard","hentry","category-php"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/how-to-connect-php-to-mysql","default":0},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/como-conectar-php-com-mysql","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/connecter-php-base-donnees-mysql","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/conectar-php-mysql","default":0},{"locale":"id-ID","link":"https:\/\/www.hostinger.com\/id\/tutorial\/koneksi-database-php","default":0},{"locale":"it-IT","link":"https:\/\/www.hostinger.com\/it\/tutorial\/collegare-php-a-mysql","default":0},{"locale":"en-UK","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/how-to-connect-php-to-mysql","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/how-to-connect-php-to-mysql","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/how-to-connect-php-to-mysql","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/conectar-php-mysql","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/conectar-php-mysql","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/conectar-php-mysql","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/como-conectar-php-com-mysql","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/how-to-connect-php-to-mysql","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/how-to-connect-php-to-mysql","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/how-to-connect-php-to-mysql","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/how-to-connect-php-to-mysql","default":0}],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/posts\/1475","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/users\/399"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/comments?post=1475"}],"version-history":[{"count":4,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/posts\/1475\/revisions"}],"predecessor-version":[{"id":6018,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/posts\/1475\/revisions\/6018"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/media?parent=1475"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/categories?post=1475"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/tags?post=1475"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}