2012-03-23 12 views
6

me encuentro con esto: -cómo usar excepción tiro en la base de datos mysql conectar

PHP Error handling: die() Vs trigger_error() Vs throw Exception

y entiende que la excepción tiro es mejor

¿Cómo puedo reemplazar la matriz y el uso tiro excepción aquí en este código: -

<?php 
# FileName="Connection_php_mysql.htm" 
# Type="MYSQL" 
# HTTP="true" 
$hostname_db = "localhost"; 
$database_db = "database"; 
$username_db = "root"; 
$password_db = "password"; 
$db = mysqli_connect($hostname_db, $username_db, $password_db) or die("Unable to connect with Database"); 
?> 
+0

Me estaba preguntando lo mismo. Gracias por publicar esta pregunta :) –

Respuesta

9
try 
{ 
    if ($db = mysqli_connect($hostname_db, $username_db, $password_db)) 
    { 
     //do something 
    } 
    else 
    { 
     throw new Exception('Unable to connect'); 
    } 
} 
catch(Exception $e) 
{ 
    echo $e->getMessage(); 
} 
+0

tengo que sustituir 'die ("No se puede conectar con la base de datos");' con su código? También me puede decir lo que es '@ $ _POST [ 'variable']' –

+1

Debe reemplazar la última línea con esto. @ - está habilitando el modo silencioso, ningún error se repetirá pero aún se registrará en el archivo error.log de su servidor. Supongo que sabes qué '$ _POST ['variable']' es. – slash197

+0

sí, lo sé ... gracias por la información :) –

3

está documentado aquí http://ie2.php.net/manual/en/mysqli.error.php

if (mysqli_connect_errno()) { 
    throw new RuntimeException("Connect failed: %s\n", mysqli_connect_error()); 
} 
+1

OK '$ db = mysqli_connect ($ hostname_db, $ username_db, $ password_db) or die ("No se puede conectar con la base de datos");' tengo que sustituir con este '$ db = mysqli_connect ($ hostname_db, $ username_db, $ password_db); if (mysqli_connect_errno()) { throw new RuntimeException ("Error de conexión:% s \ n", mysqli_connect_error()); } ' –

Cuestiones relacionadas