PHP non si connette a MySQL

June 12

PHP non si connette a MySQL


Una delle caratteristiche di PHP che rende popolare per la progettazione di sistemi di gestione dei contenuti del sito, o CMS, è la sua capacità di connettersi con il software server di database open source MySQL. Considerando come è comune per PHP da abbinare con MySQL per la costruzione di un CMS, errori di stabilire connessioni semplici a un database MySQL potrebbe essere una sorpresa. Tuttavia, ci sono una serie di semplici spiegazioni per risolvere questo problema.

PHP MySQL opzioni di compilazione

A seconda di quale versione di PHP il server utilizza, si può o non può essere automaticamente compilato con i driver necessari per stabilire connessioni ai server di database MySQL. Consultare la pagina di manuale di installazione di PHP per vedere se la versione di PHP è venuto con questi driver abilitato di default. Se non lo ha fatto, e non ha compilare il PHP con l'opzione "--with-mysql [= DIR]" con "DIR" è la directory in cui è installato MySQL, allora si dovrà ricompilare PHP con questa opzione abilitata.

Server in esecuzione?

PHP e MySQL sono due componenti software separati. Solo perché il proxy HTML è in esecuzione gli script necessari per accedere all'interprete PHP non significa che il server di database MySQL è attivo e funzionante. Se questo server non è in esecuzione, quindi PHP non sarà in grado di stabilire connessioni ad esso. È possibile utilizzare il comando da terminale "top" su sistemi basati su UNIX o "tasklist" per Windows per produrre un elenco di processi che sono attualmente in esecuzione. Se MySQL non è tra questi processi, allora si dovrà lanciarlo prima che PHP può stabilire connessioni MySQL.

Credenziali

Così come non è possibile accedere al computer senza il vostro nome utente e password corretti, MySQL non permetterà PHP stabilire connessioni ad esso se il nome utente e la password forniti come parametri nella "mysql_connect) (" la funzione non sono corretti. È possibile controllare due volte il codice sorgente per assicurarsi che non hai fatto un errore di battitura quando si entra in questi pezzi di dati. È inoltre possibile controllare due volte che non ha mancato di creare l'utente MySQL cui credenziali si sta tentando di utilizzare per stabilire la connessione con il lancio lo strumento a riga di comando MySQL con tali credenziali. Utilizzare il comando "mysql --user = targetUserName --password = targetUserPassword TargetDatabase" nel terminale. In questo comando "targetUserName" è il nome utente MySQL che si utilizza per stabilire la connessione di MySQL nel codice PHP, "targetUserPassword" è che di nome utente password corrispondente, e "TargetDatabase" è il nome del database MySQL che si sta tentando di accedere con quel nome utente. Se questo comando non funziona, allora avete bisogno per avviare lo strumento da riga di comando come utente root e creare le credenziali dell'utente che si sta tentando di utilizzare in PHP.

accurate Sintassi

Quando si tratta di programmazione in qualsiasi lingua, piccoli errori di sintassi possono causare problemi che il programmatore non può capire. Di conseguenza, se la versione di PHP ha i driver MySQL necessari abilitata, il server MySQL è in esecuzione, le credenziali che si sta tentando di utilizzare sono validi, e PHP non saranno comunque connettersi a MySQL, allora si dovrebbe andare oltre ogni personaggio in "mysql_connect ( ) "comando e parametri. Prestare particolare attenzione per assicurarsi che tutte le virgole sono lì e si è utilizzato virgolette singole ( ') invece di doppie virgolette ( ").