Problema con require once

PaoloG

Nuovo Utente
23 Ago 2020
14
0
1
Salve, ho creato un file di connessione al db mysql (uso xampp in locale).
Funziona tutto correttamente fino a quando non fermo la connessione al db.
Con mysql in stop mi genera il seguente messaggio:

Impossibile connettersi al database: SQLSTATE[HY000] [2002] Impossibile stabilire la connessione. Rifiuto persistente del computer di destinazione.

Tutto regolare dato che nel file di connessione c'e catch (PDOException $e) {exit("Impossibile connettersi al database: " . $e->getMessage());}, ma il problema e che dopo il messaggio non mi carica il resto della pagina compreso quello che si trova al di fuori dei tag php.

Ci sarebbe un modo continuare a caricare il resto della pagina anche con la connessione fallita?

Grazie e scusate se potrebbe essere una domanda banale ma ho iniziato da poco.
 

PaoloG

Nuovo Utente
23 Ago 2020
14
0
1
Grazie per la risposta, l'ho avevo già provato, anche include, ma il risultato non cambia, credo che il problema non sia i file, perché esiste il problema è la connessione

<div>
<div>tutto ok</div>
<div id='mydati'>
<ul>
<?php
include_once('connessione.php');
---qui si blocca tutto con xampp mysql=stop---
foreach (recupero i dati)
{
echo 'visualizzo i dati';
}
?>

</ul>
</div>
<div>non visualizzato</div>
<div>non visualizzato</div>
</div>
</body>
</html>

Con xampp MySQL avviato non mi da nessun problema.
 

ninja72

Utente Attivo
15 Giu 2020
24
4
3
non avevo notato l'exit() nel catch , metti un echo, anche se ho dei dubbi su come stai gestendo la cosa.
 

ninja72

Utente Attivo
15 Giu 2020
24
4
3
Potresti aggiungere una variabile $statusDB nel file connessione.php per poi utilizzarlo come verifica della connessione andata a buon fine dopo che fai l'include nel file html.

PHP:
try {
    $conn = new PDO("mysql:host=$servername;dbname=$database", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $statusDB = true;
} catch (PDOException $e) {
    $statusDB = false;
    echo "Connessione al database fallita: " . $e->getMessage();
}
PHP:
<?php
    include_once('connessione.php');
    if ($statusDB == true) {
        // foreach (recupero i dati) {
            echo 'visualizzo i dati';
        // }
    }
    ?>
 
  • Like
Reactions: PaoloG

PaoloG

Nuovo Utente
23 Ago 2020
14
0
1
Potresti aggiungere una variabile $statusDB nel file connessione.php per poi utilizzarlo come verifica della connessione andata a buon fine dopo che fai l'include nel file html.

PHP:
try {
    $conn = new PDO("mysql:host=$servername;dbname=$database", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $statusDB = true;
} catch (PDOException $e) {
    $statusDB = false;
    echo "Connessione al database fallita: " . $e->getMessage();
}
PHP:
<?php
    include_once('connessione.php');
    if ($statusDB == true) {
        // foreach (recupero i dati) {
            echo 'visualizzo i dati';
        // }
    }
    ?>
Grazie, così funziona, ho fatto così

<?php
include_once('connessione.php');
if ($statusDB == true){
foreach (recupero i dati)
{
echo 'visualizzo i dati';
}
}else{
echo 'Nessun dato disponibile...';
}
?>

Praticamente è l'exit che mi esclude tutto il codice restante.
 
Autore Discussioni simili Forum Risposte Data
R PHP 7
G PHP 4
P Java 1
A PHP 14
L PHP 1