Testare la connessione al db mysql

Testare la connessione al db mysql

mysql connection test - Testare la connessione al db mysql

Quando ci troviamo a scrivere del codice in php, molte volte usiamo dei data-base mysql e quindi  scriviamo una marea di codice per effettuare la connessione. Il problema è che alcune volte non capiamo come mai la connessione non riesce  e siamo costretti a un duro lavoro per capire la causa.

Oggi vi metto in download un semplice script php che serve a verificare la connessione al database mysql. E’ davvero semplicissimo il suo funzionamento, vi basta estrarre il file che vi metto in basso, rinominarlo in qualcosa di semplice, tipo prova.php e metterno nella directory dove state tentano di effettuare la connessione. A questo punto, non dovete far altro che richiamare lo script  tipo miosito/prova.php e vi apparirà il form che vedete in alto. Per testare la connessione al dbmysql dovete inserire l’host, se stiamo lavorando in locale si chiama localhost altrimenti dovete inserire il suo indirizzo ip, poi inseriamo l’username, la password e nome del db, se la connessione riesce, lo script vi mostrerà le tabelle contenute del database.

Come vi ho detto è davero semplice questo script per testare la connessione e credo che tutti noi dovremmo usarlo quando qualcosa non riesce nei nostri script.

Qui vi metto il codice sorgente e in basso il file in download. Spero che vi piaccia

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<title>MySQL Connection Test</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<style type="text/css">

#wrapper {

    width: 600px;

    margin: 20px auto 0;

    font: 1.2em Verdana, Arial, sans-serif;

}

input {

    font-size: 1em;

}

#submit {

    padding: 4px 8px;

}

</style>

</head>



<body>



<div id="wrapper">



<?php

    $action = htmlspecialchars($_GET['action'], ENT_QUOTES);

?>



<?php if (!$action) { ?>



    <p>MySQL connection test</p>



<form action="<?php echo $_SERVER['PHP_SELF']; ?>?action=test" id="mail" method="post">



    <table cellpadding="2">

        <tr>

            <td>Hostname</td>

            <td><input type="text" name="hostname" id="hostname" value="" size="30" tabindex="1" /></td>

            <td>(usually "localhost")</td>

        </tr>

        <tr>

            <td>Username</td>

            <td><input type="text" name="username" id="username" value="" size="30" tabindex="2" /></td>

            <td></td>

        </tr>

        <tr>

            <td>Password</td>

            <td><input type="text" name="password" id="password" value="" size="30" tabindex="3" /></td>

            <td></td>

        </tr>

        <tr>

            <td>Database</td>

            <td><input type="text" name="database" id="database" value="" size="30" tabindex="4" /></td>

            <td>(optional)</td>

        </tr>

        <tr>

            <td></td>

            <td><input type="submit" id="submit" value="Test Connection" tabindex="5" /></td>

            <td></td>

        </tr>

    </table>



</form>



<?php } ?>



<?php if ($action == "test") {



// The variables have not been adequately sanitized to protect against SQL Injection attacks: http://us3.php.net/mysql_real_escape_string



    $hostname = trim($_POST['hostname']);

    $username = trim($_POST['username']);

    $password = trim($_POST['password']);

    $database = trim($_POST['database']);



    $link = mysql_connect("$hostname", "$username", "$password");

        if (!$link) {

            echo "<p>Could not connect to the server '" . $hostname . "'</p>\n";

            echo mysql_error();

        }else{

            echo "<p>Successfully connected to the server '" . $hostname . "'</p>\n";

//          printf("MySQL client info: %s\n", mysql_get_client_info());

//          printf("MySQL host info: %s\n", mysql_get_host_info());

//          printf("MySQL server version: %s\n", mysql_get_server_info());

//          printf("MySQL protocol version: %s\n", mysql_get_proto_info());

        }

    if ($link && !$database) {

        echo "<p>No database name was given. Available databases:</p>\n";

        $db_list = mysql_list_dbs($link);

        echo "<pre>\n";

        while ($row = mysql_fetch_array($db_list)) {

            echo $row['Database'] . "\n";

        }

        echo "</pre>\n";

    }

    if ($database) {

    $dbcheck = mysql_select_db("$database");

        if (!$dbcheck) {

            echo mysql_error();

        }else{

            echo "<p>Successfully connected to the database '" . $database . "'</p>\n";

            // Check tables

            $sql = "SHOW TABLES FROM `$database`";

            $result = mysql_query($sql);

            if (mysql_num_rows($result) > 0) {

                echo "<p>Available tables:</p>\n";

                echo "<pre>\n";

                while ($row = mysql_fetch_row($result)) {

                    echo "{$row[0]}\n";

                }

                echo "</pre>\n";

            } else {

                echo "<p>The database '" . $database . "' contains no tables.</p>\n";

                echo mysql_error();

            }

        }

    }

}

?>



</div><!-- end #wrapper -->

</body>

</html>
[dm]50[/dm]

About Esperto SEO

Avatar for Esperto SEO
Esperto SEO e Wordpress. Ha la sua società "Comunicazione Web s.r.l" a Roma.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *