Domanda

Sto appena iniziando a scrivere questo codice e quando aggiungo nel db seleziona e aggiorna la pagina, invece di mostrare tutti gli altri HTML sulla pagina o un errore, appare solo vuoto.

Ecco cosa ho-

$link = mysql_connect('vps2.foo.com:3306', 'remote_vhost30', 'password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}

$db_selected = mysql_select_db('best_of', $link);
if (!$db_selected) {
    die ('Can\'t use foo : ' . mysql_error());
}

$sections_result = "SELECT * FROM sections";
$sections_query = mysql_query($sections_result) or die(mysql_error());
$sections_array = mysql_fetch_array($sections_result) or die(mysql_error());

Questo codice sopra restituisce una pagina vuota. Se commento la riga che inizia con $ db_selected la pagina si carica bene. Ovviamente non fa nulla con i dati ma nessun errore.

Qual è il problema? (E sì, mi sto collegando a un server remoto, ma il $ link non produce errori)

È stato utile?

Soluzione

L'ultima riga di codice dovrebbe essere:

$sections_array = mysql_fetch_array($sections_query) or die(mysql_error());

Stai tentando di recuperare le righe dalla variabile $ sezioni_risult , che è la stringa della tua query e non il set di risultati.


Attiva la segnalazione degli errori, con error_reporting (E_ALL) come menzionato in una delle altre risposte.

Altri suggerimenti

Per inciso, sospetto che il problema sia che PHP sta generando un errore, ma hai disabilitato la visualizzazione degli errori, quindi la visualizzazione di una pagina bianca vuota. Controlla lo stato di "display_errors" nel tuo file php.ini.

NB: se si tratta di un server di produzione, è necessario lasciare display_errors disattivato.

Verifica che sia davvero quella linea sostituendo questo:

$db_selected = mysql_select_db('best_of', $link);

Con questo:

if (! $db_selected = mysql_select_db('best_of', $link)) die('Unable to select database');

Come dice MitMaro, hai confuso _result e _query. Questo potrebbe essere migliore:

$sections_query = "SELECT * FROM sections";
$sections_result = mysql_query($sections_query) or die(mysql_error());
$sections_array = mysql_fetch_array($sections_result) or die(mysql_error());

Spero che aiuti :)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top