Faccio il punto della situazione:
io il file funzione.php per collegarmi al database di Altervista [premetto che in locale funziona tutto perfettamente],
dove utilizzo una funzione nel caso sia offline e un'altra se è online:
Codice PHP:
function connessione() {
$host = "localhost";
$dbname = "sito";
$connessione = new PDO ("mysql:host=$host; dbname=$dbname", 'root', '');
return $connessione;
}
function connessione_online() {
$host = "localhost";
$db_name = "my_marcoimprota";
$username = "marcoimprota";
$password = "0";
$connessione = new PDO ("mysql:host=$host; db_name=$db_name", $username, $password);
return $connessione;
}
Nella pagina Home, ad esempio, vado quindi a richiamare la funzione di connessione al database per estrarre il Titolo della pagina ed inserirlo nel tag Html
Codice PHP:
<?PHP
include 'funzioni.php';
$connessione = connessione_online();
if (!$connessione) {
Echo "non posso connettermi";
} Else {
$query = $connessione->query("SELECT Titolo FROM Post WHERE ID_Post=1");
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
echo "<title>" . $row['Titolo'] . "</title>";
}
}
Ma, la visualizzazione è solamente una laconica pagina bianca con la scritta di errore:
Fatal error: Call to a member function fetch() on a non-object in /membri/marcoimprota/Blog/Archivio/Riflessioni_a_caldo.php on line 16
Questo mi succedeva in locale quando non avevo collegato il database, e l'array associativa risultava vuota. Ho provato i consigli di Karl94, ma la struttura del testo per me è ancora difficile da comprendere [sono alle prime armi] e non riesco a modificarlo o a "leggerlo" in modo chiaro, che io possa capirlo e modificarlo adattandolo al mio caso.