2012-01-26 14 views
14

Vorrei verificare se il sito Web può connettersi a mySQL. In caso contrario, vorrei visualizzare un errore che dice che l'utente dovrebbe tentare di accedere alla pagina di nuovo in pochi minuti ...Verificare la connessione al database, altrimenti visualizzare il messaggio

io davvero non so come fare;)

Qualsiasi aiuto sarebbe essere molto apprezzato!

string mysql_error ([ resource $link_identifier ]) 

Ma come si usa questo?

Questo mi dà solo l'errore, ma voglio che il messaggio venga visualizzato con qualsiasi errore.

Grazie

+0

http://php.net/manual/de /function.mysql-error.php – DerVO

+0

grazie per le informazioni ma non so come potrei usare questo (mi dà solo l'errore) - Ciao da Deutschland – Chriswede

risposta

37

Prova questo:

<?php 
$servername = "localhost"; 
$database = "database"; 
$username = "user"; 
$password = "password"; 

// Create connection 
$conn = new mysqli($servername, $username, $password); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 
    echo "Connected successfully"; 
?> 
+0

Posso anche inserire il codice php all'interno di "{ // inserire l'errore qui }" perché questo mi dà un errore – Chriswede

+0

Vedere le mie nuove modifiche. – psyklopz

+0

così ho potuto sostituire 'codice: echo" Per favore prova più tardi. " 'con' codice: Chriswede

6

molto di base:

<?php 
$username = 'user'; 
$password = 'password'; 
$server = 'localhost'; 
// Opens a connection to a MySQL server 
$connection = mysql_connect ($server, $username, $password) or die('try again in some minutes, please'); 
//if you want to suppress the error message, substitute the connection line for: 
//$connection = @mysql_connect($server, $username, $password) or die('try again in some minutes, please'); 
?> 

risultato:

Warning: mysql_connect() [function.mysql-connect]: Accesso negato per l'utente 'utente' @ 'localhost' (utilizzando la password: YES) in /home/user/public_html/zdel1.php sulla riga 6 riprova tra qualche minuto, per favore

come da raccomandazione di Wrikken di seguito, controllare o ut un gestore di errore completo per soluzioni più complesse, efficienti ed eleganti: http://www.php.net/manual/en/function.set-error-handler.php

+2

Per favore, non morire ..... Echo un messaggio di errore, ma usa 'trigger_error ('qualche messaggio di errore interno', E_USER_ERROR);', in questo modo, la e rror si presenta nei tuoi registri, dato che è improbabile che tu possa catturare te stesso su un sito occupato. Ovviamente, anche questo presuppone che 'log_errors' sia acceso e' display_errors' sia disattivato, che dovrebbe essere l'impostazione predefinita per qualsiasi ambiente di produzione. – Wrikken

+0

CORRETTO ASSOLUTAMENTE! :> –

0

Si prega di verificare questo:

$servername='localhost'; 
$username='root'; 
$password=''; 
$databasename='MyDb'; 

$connection = mysqli_connect($servername,$username,$password); 

if (!$connection) { 
die("Connection failed: " . $conn->connect_error); 
} 

/*mysqli_query($connection, "DROP DATABASE if exists MyDb;"); 

if(!mysqli_query($connection, "CREATE DATABASE MyDb;")){ 
echo "Error creating database: " . $connection->error; 
} 

mysqli_query($connection, "use MyDb;"); 
mysqli_query($connection, "DROP TABLE if exists employee;"); 

$table="CREATE TABLE employee (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
firstname VARCHAR(30) NOT NULL, 
lastname VARCHAR(30) NOT NULL, 
email VARCHAR(50), 
reg_date TIMESTAMP 
)"; 
$value="INSERT INTO employee (firstname,lastname,email) VALUES ('john', 'steve', '[email protected]')"; 
if(!mysqli_query($connection, $table)){echo "Error creating table: " . $connection->error;} 
if(!mysqli_query($connection, $value)){echo "Error inserting values: " . $connection->error;}*/ 
Problemi correlati