2012-03-23 17 views
6

I natknąć się następująco: -jak używać wyjątek rzucać w bazie danych mysql połączyć

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

i zrozumiał, że wyjątek throw jest lepiej

Jak mogę wymienić matrycę i wykorzystanie throw wyjątek tutaj, w tym Kod: -

<?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

Zadaję sobie to samo. Dzięki za napisanie tego pytania :) –

Odpowiedz

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

muszę zastąpić 'die (" Nie można połączyć się z bazą danych ");' z twoim kodem? Czy możesz mi powiedzieć, co to jest '@ $ _ POST ['variable']' –

+1

Powinieneś zamienić ostatnią linię na tę. @ - włącza tryb cichy, żaden błąd nie zostanie zgłoszony, ale nadal jest rejestrowany w pliku error.log twojego serwera. Chyba wiesz, co to jest '$ _POST ['variable']'. – slash197

+0

Tak, wiem, że ... dziękuję za informacje :) –

3

jest udokumentowane tutaj 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 ("Nie można połączyć się z bazą danych");' muszę wymienić z tym '$ db = mysqli_connect ($ hostname_db, $ username_db, $ password_db); if (mysqli_connect_errno()) { throw new RuntimeException ("Połącz nie powiodło się:% s \ n", mysqli_connect_error()); } ' –

Powiązane problemy