2012-08-12 6 views
34

अगर एक MySQL क्वेरी die()विरासत API का उपयोग कर एक MySQL क्वेरी सफल होने पर कैसे जांचें?

मैं प्राप्त करने के लिए कोशिश कर रहा हूँ का उपयोग करने से सफल अन्य है मैं की जांच कैसे करूं ...

mysql_query($query); 

if(success){ 
//move file 
} 
else if(fail){ 
//display error 
} 

उत्तर

57

यह mysql_query के लिए मैनुअल पेज में पहली उदाहरण है:

$result = mysql_query('SELECT * WHERE 1=1'); 
if (!$result) { 
    die('Invalid query: ' . mysql_error()); 
} 

यदि आप die के अलावा कुछ और उपयोग करना चाहते हैं, तो मैं trigger_error का सुझाव दूंगा।

+3

या बस 'if (! Mysql_query ('का चयन करें * जहां 1 = 1')) {...}' –

+2

@Rune: सही है, लेकिन फिर आप का उपयोग करने के लिए सक्षम नहीं होंगे आगे के कार्यों के लिए क्वेरी संसाधन (यानी 'mysql_fetch_ *' फ़ंक्शंस का उपयोग करके वास्तविक डेटा लाने के लिए)। –

+1

@ अमलमुरली हम्म, अच्छा बिंदु। मुझे यकीन नहीं है कि मैं उस टिप्पणी को पोस्ट करने के समय अपने सिर के साथ कहां था .. –

4

यदि आपकी क्वेरी विफल हुई है, तो आपको एक FALSE वापसी मान प्राप्त होगा। अन्यथा आपको संसाधन/सत्य प्राप्त होगा।

$result = mysql_query($query); 

if(!$result){ 
    /* check for error, die, etc */ 
} 

मूल रूप से जब तक यह गलत नहीं है, तो आप ठीक हैं। बाद में, आप अपना कोड जारी रख सकते हैं।

if(!$result) 

कोड का यह हिस्सा वास्तव में आपकी क्वेरी चलाता है।

13

आप इसके लिए mysql_errno() का भी उपयोग कर सकते हैं।

$result = mysql_query($query); 

if(mysql_errno()){ 
    echo "MySQL error ".mysql_errno().": " 
     .mysql_error()."\n<br>When executing <br>\n$query\n<br>"; 
} 
+1

mysql_errno() का उपयोग करके यह अधिक विश्वसनीय है, क्योंकि आप mysql_query() से वापस आने वाले परिणाम के प्रकार पर भरोसा नहीं कर सकते हैं। – dar7yl

2

mysql_query फ़ंक्शन का उपयोग php में mysql क्वेरी निष्पादित करने के लिए किया जाता है। mysql_query रिटर्न यदि क्वेरी निष्पादन झूठी fails.Alternatively आप क्वेरी निष्पादन विफल रहता है, तो फिर यह निष्पादन और प्रदर्शन mysql समाप्त कर देगा mysql_error() समारोह का उपयोग कर जैसे

$result=mysql_query($sql) 

या

die(mysql_error()); 

ऊपर कोड स्निपेट में कोशिश कर सकते हैं एसक्यूएल क्वेरी के निष्पादन के दौरान त्रुटि।

0

अगर MySQLi का उपयोग कर bind_param क्वेरी ऊपर इस लाइन डालने के लिए कोशिश

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); 
1

केवल डाल:

or die(mysqli_error());

आपकी क्वेरी

के बाद और यह त्रुटि retern होगा echo

उदाहरण

// "Your Query" means you can put "Select/Update/Delete/Set" queries here 
$qfetch = mysqli_fetch_assoc(mysqli_query("your query")) or die(mysqli_error()); 



    if (mysqli_errno()) { 
     echo 'error' . mysqli_error(); 
     die(); 
    } 
संबंधित मुद्दे