2012-03-23 11 views
6

मैं इस पार चलो: -कैसे mysql डेटाबेस में फेंक अपवाद का उपयोग करने के लिए कनेक्ट

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

और समझा जाता है कि फेंक अपवाद बेहतर है

कैसे मैं इस में यहाँ मरने और उपयोग फेंक अपवाद की जगह ले सकता कोड: -

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

खुद को एक ही चीज़ पूछ रहा था। इस प्रश्न को पोस्ट करने के लिए धन्यवाद :) –

उत्तर

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

मुझे 'die (" डेटाबेस से कनेक्ट करने में असमर्थ ") को प्रतिस्थापित करने की आवश्यकता है;' आपके कोड के साथ? क्या आप मुझे बता सकते हैं कि '@ $ _ POST ['variable']' –

+1

क्या है, आपको इसके साथ अपनी अंतिम पंक्ति को प्रतिस्थापित करना चाहिए। @ - चुप मोड सक्षम कर रहा है, कोई त्रुटि प्रतिबिंबित नहीं की जाएगी लेकिन फिर भी आपके सर्वर की error.log फ़ाइल में लॉग इन होगी। मुझे लगता है कि आप जानते हैं कि '$ _POST ['variable']' है। – slash197

+0

हाँ मुझे पता है कि ... जानकारी के लिए धन्यवाद :) –

3

यह यहाँ प्रलेखित है 0,123,

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

ठीक '$ db = mysqli_connect ($ hostname_db, $ username_db, $ password_db) या मरो (" डाटाबेस के साथ कनेक्ट करने में असमर्थ ");' मैं इस '$ db = mysqli_connect ($ hostname_db, $ से प्रतिस्थापित करना username_db, $ password_db); अगर (mysqli_connect_errno()) { नया रनटाइम अपवाद फेंक दें ("कनेक्ट विफल:% s \ n", mysqli_connect_error()); } ' –